diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-02-03 22:01:08 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-02-03 22:01:08 +0000 |
commit | 5c3d2b334a8a4ee723e31f49825d805f580281c3 (patch) | |
tree | 89f6ee6ba23882c7832ea9cd0fdca587cae0c992 /shell | |
parent | 95dc67232606af071e59ede726bfab1d0ec72f7f (diff) | |
download | busybox-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.c | 35 |
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 | ||
6506 | struct cmdentry { | 6508 | struct 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 | */ |
6847 | static void | 6854 | static void |
6848 | changepath(const char *newval) | 6855 | changepath(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) |