aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-02-03 22:01:08 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-02-03 22:01:08 +0000
commit5c3d2b334a8a4ee723e31f49825d805f580281c3 (patch)
tree89f6ee6ba23882c7832ea9cd0fdca587cae0c992 /shell
parent95dc67232606af071e59ede726bfab1d0ec72f7f (diff)
downloadbusybox-w32-5c3d2b334a8a4ee723e31f49825d805f580281c3.tar.gz
busybox-w32-5c3d2b334a8a4ee723e31f49825d805f580281c3.tar.bz2
busybox-w32-5c3d2b334a8a4ee723e31f49825d805f580281c3.zip
ash: readability enhancement, no code changes
Diffstat (limited to 'shell')
-rw-r--r--shell/ash.c35
1 files changed, 20 insertions, 15 deletions
diff --git a/shell/ash.c b/shell/ash.c
index ffa401936..8ff5f4c31 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -1475,7 +1475,7 @@ prefix(const char *string, const char *pfx)
1475{ 1475{
1476 while (*pfx) { 1476 while (*pfx) {
1477 if (*pfx++ != *string++) 1477 if (*pfx++ != *string++)
1478 return 0; 1478 return NULL;
1479 } 1479 }
1480 return (char *) string; 1480 return (char *) string;
1481} 1481}
@@ -6500,8 +6500,10 @@ struct builtincmd {
6500 /* unsigned flags; */ 6500 /* unsigned flags; */
6501}; 6501};
6502#define IS_BUILTIN_SPECIAL(b) ((b)->name[0] & 1) 6502#define IS_BUILTIN_SPECIAL(b) ((b)->name[0] & 1)
6503/* "regular" bltins always take precedence over commands,
6504 * regardless of PATH=....%builtin... position */
6503#define IS_BUILTIN_REGULAR(b) ((b)->name[0] & 2) 6505#define IS_BUILTIN_REGULAR(b) ((b)->name[0] & 2)
6504#define IS_BUILTIN_ASSIGN(b) ((b)->name[0] & 4) 6506#define IS_BUILTIN_ASSIGN(b) ((b)->name[0] & 4)
6505 6507
6506struct cmdentry { 6508struct cmdentry {
6507 int cmdtype; 6509 int cmdtype;
@@ -6788,10 +6790,11 @@ hashcmd(int argc, char **argv)
6788 struct cmdentry entry; 6790 struct cmdentry entry;
6789 char *name; 6791 char *name;
6790 6792
6791 while ((c = nextopt("r")) != '\0') { 6793 if (nextopt("r") != '\0') {
6792 clearcmdentry(0); 6794 clearcmdentry(0);
6793 return 0; 6795 return 0;
6794 } 6796 }
6797
6795 if (*argptr == NULL) { 6798 if (*argptr == NULL) {
6796 for (pp = cmdtable; pp < &cmdtable[CMDTABLESIZE]; pp++) { 6799 for (pp = cmdtable; pp < &cmdtable[CMDTABLESIZE]; pp++) {
6797 for (cmdp = *pp; cmdp; cmdp = cmdp->next) { 6800 for (cmdp = *pp; cmdp; cmdp = cmdp->next) {
@@ -6801,13 +6804,16 @@ hashcmd(int argc, char **argv)
6801 } 6804 }
6802 return 0; 6805 return 0;
6803 } 6806 }
6807
6804 c = 0; 6808 c = 0;
6805 while ((name = *argptr) != NULL) { 6809 while ((name = *argptr) != NULL) {
6806 cmdp = cmdlookup(name, 0); 6810 cmdp = cmdlookup(name, 0);
6807 if (cmdp != NULL 6811 if (cmdp != NULL
6808 && (cmdp->cmdtype == CMDNORMAL 6812 && (cmdp->cmdtype == CMDNORMAL
6809 || (cmdp->cmdtype == CMDBUILTIN && builtinloc >= 0))) 6813 || (cmdp->cmdtype == CMDBUILTIN && builtinloc >= 0))
6814 ) {
6810 delete_cmd_entry(); 6815 delete_cmd_entry();
6816 }
6811 find_command(name, &entry, DO_ERR, pathval()); 6817 find_command(name, &entry, DO_ERR, pathval());
6812 if (entry.cmdtype == CMDUNKNOWN) 6818 if (entry.cmdtype == CMDUNKNOWN)
6813 c = 1; 6819 c = 1;
@@ -6828,12 +6834,13 @@ hashcd(void)
6828 6834
6829 for (pp = cmdtable; pp < &cmdtable[CMDTABLESIZE]; pp++) { 6835 for (pp = cmdtable; pp < &cmdtable[CMDTABLESIZE]; pp++) {
6830 for (cmdp = *pp; cmdp; cmdp = cmdp->next) { 6836 for (cmdp = *pp; cmdp; cmdp = cmdp->next) {
6831 if (cmdp->cmdtype == CMDNORMAL || ( 6837 if (cmdp->cmdtype == CMDNORMAL
6832 cmdp->cmdtype == CMDBUILTIN && 6838 || (cmdp->cmdtype == CMDBUILTIN
6833 !(IS_BUILTIN_REGULAR(cmdp->param.cmd)) && 6839 && !IS_BUILTIN_REGULAR(cmdp->param.cmd)
6834 builtinloc > 0 6840 && builtinloc > 0)
6835 )) 6841 ) {
6836 cmdp->rehash = 1; 6842 cmdp->rehash = 1;
6843 }
6837 } 6844 }
6838 } 6845 }
6839} 6846}
@@ -6845,15 +6852,14 @@ hashcd(void)
6845 * Called with interrupts off. 6852 * Called with interrupts off.
6846 */ 6853 */
6847static void 6854static void
6848changepath(const char *newval) 6855changepath(const char *new)
6849{ 6856{
6850 const char *old, *new; 6857 const char *old;
6851 int idx;
6852 int firstchange; 6858 int firstchange;
6859 int idx;
6853 int idx_bltin; 6860 int idx_bltin;
6854 6861
6855 old = pathval(); 6862 old = pathval();
6856 new = newval;
6857 firstchange = 9999; /* assume no change */ 6863 firstchange = 9999; /* assume no change */
6858 idx = 0; 6864 idx = 0;
6859 idx_bltin = -1; 6865 idx_bltin = -1;
@@ -6869,9 +6875,8 @@ changepath(const char *newval)
6869 break; 6875 break;
6870 if (*new == '%' && idx_bltin < 0 && prefix(new + 1, "builtin")) 6876 if (*new == '%' && idx_bltin < 0 && prefix(new + 1, "builtin"))
6871 idx_bltin = idx; 6877 idx_bltin = idx;
6872 if (*new == ':') { 6878 if (*new == ':')
6873 idx++; 6879 idx++;
6874 }
6875 new++, old++; 6880 new++, old++;
6876 } 6881 }
6877 if (builtinloc < 0 && idx_bltin >= 0) 6882 if (builtinloc < 0 && idx_bltin >= 0)