From dee82b6b78fab258584414557915e5169b051665 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Sun, 29 Jul 2007 14:05:27 +0000 Subject: [PATCH] ash: comment non-obvious code part --- shell/ash.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/shell/ash.c b/shell/ash.c index 5f4d1767e..d34f5207f 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -11121,14 +11121,16 @@ find_command(char *name, struct cmdentry *entry, int act, const char *path) loop: while ((fullname = padvance(&path, name)) != NULL) { stunalloc(fullname); + /* NB: code below will still use fullname + * despite it being "unallocated" */ idx++; if (pathopt) { if (prefix(pathopt, "builtin")) { if (bcmd) goto builtin_success; continue; - } else if (!(act & DO_NOFUNC) && - prefix(pathopt, "func")) { + } else if (!(act & DO_NOFUNC) + && prefix(pathopt, "func")) { /* handled below */ } else { /* ignore unimplemented options */ @@ -11156,6 +11158,9 @@ find_command(char *name, struct cmdentry *entry, int act, const char *path) continue; if (pathopt) { /* this is a %func directory */ stalloc(strlen(fullname) + 1); + /* NB: stalloc will return space pointed by fullname + * (because we don't have any intervening allocations + * between stunalloc above and this stalloc) */ readcmdfile(fullname); cmdp = cmdlookup(name, 0); if (cmdp == NULL || cmdp->cmdtype != CMDFUNCTION)