summaryrefslogtreecommitdiff
path: root/xs.h
diff options
context:
space:
mode:
authordefault <nobody@localhost>2022-10-22 05:48:44 +0200
committerdefault <nobody@localhost>2022-10-22 05:48:44 +0200
commit883902c322679c73e7edd8347139c6ecad4a7127 (patch)
treeb3c74d46607ef4c77de0ed60e96f5e18c0a4849d /xs.h
parent084731fec24932ad48c48c5147d129ce2af0ccc8 (diff)
Backport from xs.
Diffstat (limited to 'xs.h')
-rw-r--r--xs.h32
1 files changed, 13 insertions, 19 deletions
diff --git a/xs.h b/xs.h
index bffc0ee..0a65774 100644
--- a/xs.h
+++ b/xs.h
@@ -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;
}