diff options
author | default <nobody@localhost> | 2022-10-22 05:48:44 +0200 |
---|---|---|
committer | default <nobody@localhost> | 2022-10-22 05:48:44 +0200 |
commit | 883902c322679c73e7edd8347139c6ecad4a7127 (patch) | |
tree | b3c74d46607ef4c77de0ed60e96f5e18c0a4849d /xs.h | |
parent | 084731fec24932ad48c48c5147d129ce2af0ccc8 (diff) |
Backport from xs.
Diffstat (limited to 'xs.h')
-rw-r--r-- | xs.h | 32 |
1 files changed, 13 insertions, 19 deletions
@@ -475,21 +475,20 @@ int xs_list_len(char *list) char *xs_list_get(char *list, int num) /* returns the element #num */ { - char *v, *r = NULL; + char *v; int c = 0; if (num < 0) num = xs_list_len(list) + num; while (xs_list_iter(&list, &v)) { - if (c == num) { - r = v; - break; - } + if (c == num) + return v; + c++; } - return r; + return NULL; } @@ -497,20 +496,17 @@ int xs_list_in(char *list, char *val) /* returns the position of val in list or -1 */ { int n = 0; - int r = -1; char *v; int sz = xs_size(val); - while (r == -1 && xs_list_iter(&list, &v)) { - int vsz = xs_size(v); - - if (sz == vsz && memcmp(val, v, sz) == 0) - r = n; + while (xs_list_iter(&list, &v)) { + if (sz == xs_size(v) && memcmp(val, v, sz) == 0) + return n; n++; } - return r; + return -1; } @@ -641,16 +637,14 @@ int xs_dict_iter(char **dict, char **key, char **value) char *xs_dict_get(char *dict, const char *key) /* returns the value directed by key */ { - char *k, *v, *r = NULL; + char *k, *v; while (xs_dict_iter(&dict, &k, &v)) { - if (strcmp(k, key) == 0) { - r = v; - break; - } + if (strcmp(k, key) == 0) + return v; } - return r; + return NULL; } |