diff options
author | Kim Phillips <kim.phillips@freescale.com> | 2011-04-04 15:17:45 (GMT) |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2011-04-27 22:54:40 (GMT) |
commit | af4d9074aa0ed7c0d62084af02a6967d69915de6 (patch) | |
tree | 1d4dc4bc5a0245c5854f7739145fb2a67fd7096e | |
parent | f314313494f50aae7b5f75764d67c9f02c84c4df (diff) | |
download | u-boot-af4d9074aa0ed7c0d62084af02a6967d69915de6.tar.xz |
env: fix env var autocompletion
commit 560d424b6d7cd4205b062ad95f1b104bd4f8bcc3 "env: re-add
support for auto-completion" fell short of its description -
the 'used' logic in hmatch_r was reversed - 'used' is 0 if
the hash table entry is not used, or -1 if deleted. This
patch makes hmatch_r actually match on valid ('used') entries,
instead of skipping them and failing to match anything.
typing 'printenv tft' and hitting 'tab' now displays valid
choices for variable names.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Cc: Mike Frysinger <vapier@gentoo.org>
Tested-by: Mike Frysinger <vapier@gentoo.org>
-rw-r--r-- | lib/hashtable.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/hashtable.c b/lib/hashtable.c index fcdb53c..92eaa38 100644 --- a/lib/hashtable.c +++ b/lib/hashtable.c @@ -209,7 +209,7 @@ int hmatch_r(const char *match, int last_idx, ENTRY ** retval, size_t key_len = strlen(match); for (idx = last_idx + 1; idx < htab->size; ++idx) { - if (htab->table[idx].used > 0) + if (htab->table[idx].used <= 0) continue; if (!strncmp(match, htab->table[idx].entry.key, key_len)) { *retval = &htab->table[idx].entry; |