aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorKim Phillips <kim.phillips@freescale.com>2011-04-04 15:17:45 +0000
committerWolfgang Denk <wd@denx.de>2011-04-28 00:54:40 +0200
commitaf4d9074aa0ed7c0d62084af02a6967d69915de6 (patch)
tree1d4dc4bc5a0245c5854f7739145fb2a67fd7096e /lib
parentf314313494f50aae7b5f75764d67c9f02c84c4df (diff)
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>
Diffstat (limited to 'lib')
-rw-r--r--lib/hashtable.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/hashtable.c b/lib/hashtable.c
index fcdb53cd4..92eaa3881 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;