X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fstrmap%2Fstrmap.c;h=872ca544c6aab1fa3b9d813534b74486cf77ec70;hp=2b89fe0da66cdf8185b4096681175601a2a01fb0;hb=8bb0697b44f0dc4168f72ee621a291d68fefd4ad;hpb=13911ef769824a0958e1f1ce7292dfc8f23feb18;ds=sidebyside diff --git a/ccan/strmap/strmap.c b/ccan/strmap/strmap.c index 2b89fe0d..872ca544 100644 --- a/ccan/strmap/strmap.c +++ b/ccan/strmap/strmap.c @@ -39,12 +39,13 @@ void *strmap_get_(const struct strmap *map, const char *member) { struct strmap *n; - /* Empty map? */ - if (!map->u.n) - return NULL; - n = closest((struct strmap *)map, member); - if (streq(member, n->u.s)) - return n->v; + /* Not empty map? */ + if (map->u.n) { + n = closest((struct strmap *)map, member); + if (streq(member, n->u.s)) + return n->v; + } + errno = ENOENT; return NULL; } @@ -129,8 +130,10 @@ char *strmap_del_(struct strmap *map, const char *member, void **valuep) u8 direction = 0; /* prevent bogus gcc warning. */ /* Empty map? */ - if (!map->u.n) + if (!map->u.n) { + errno = ENOENT; return NULL; + } /* Find closest, but keep track of parent. */ n = map; @@ -148,8 +151,10 @@ char *strmap_del_(struct strmap *map, const char *member, void **valuep) } /* Did we find it? */ - if (!streq(member, n->u.s)) + if (!streq(member, n->u.s)) { + errno = ENOENT; return NULL; + } ret = n->u.s; if (valuep)