diff options
| -rw-r--r-- | xs.h | 32 | ||||
| -rw-r--r-- | xs_version.h | 2 |
2 files changed, 14 insertions, 20 deletions
| @@ -475,21 +475,20 @@ int xs_list_len(char *list) | |||
| 475 | char *xs_list_get(char *list, int num) | 475 | char *xs_list_get(char *list, int num) |
| 476 | /* returns the element #num */ | 476 | /* returns the element #num */ |
| 477 | { | 477 | { |
| 478 | char *v, *r = NULL; | 478 | char *v; |
| 479 | int c = 0; | 479 | int c = 0; |
| 480 | 480 | ||
| 481 | if (num < 0) | 481 | if (num < 0) |
| 482 | num = xs_list_len(list) + num; | 482 | num = xs_list_len(list) + num; |
| 483 | 483 | ||
| 484 | while (xs_list_iter(&list, &v)) { | 484 | while (xs_list_iter(&list, &v)) { |
| 485 | if (c == num) { | 485 | if (c == num) |
| 486 | r = v; | 486 | return v; |
| 487 | break; | 487 | |
| 488 | } | ||
| 489 | c++; | 488 | c++; |
| 490 | } | 489 | } |
| 491 | 490 | ||
| 492 | return r; | 491 | return NULL; |
| 493 | } | 492 | } |
| 494 | 493 | ||
| 495 | 494 | ||
| @@ -497,20 +496,17 @@ int xs_list_in(char *list, char *val) | |||
| 497 | /* returns the position of val in list or -1 */ | 496 | /* returns the position of val in list or -1 */ |
| 498 | { | 497 | { |
| 499 | int n = 0; | 498 | int n = 0; |
| 500 | int r = -1; | ||
| 501 | char *v; | 499 | char *v; |
| 502 | int sz = xs_size(val); | 500 | int sz = xs_size(val); |
| 503 | 501 | ||
| 504 | while (r == -1 && xs_list_iter(&list, &v)) { | 502 | while (xs_list_iter(&list, &v)) { |
| 505 | int vsz = xs_size(v); | 503 | if (sz == xs_size(v) && memcmp(val, v, sz) == 0) |
| 506 | 504 | return n; | |
| 507 | if (sz == vsz && memcmp(val, v, sz) == 0) | ||
| 508 | r = n; | ||
| 509 | 505 | ||
| 510 | n++; | 506 | n++; |
| 511 | } | 507 | } |
| 512 | 508 | ||
| 513 | return r; | 509 | return -1; |
| 514 | } | 510 | } |
| 515 | 511 | ||
| 516 | 512 | ||
| @@ -641,16 +637,14 @@ int xs_dict_iter(char **dict, char **key, char **value) | |||
| 641 | char *xs_dict_get(char *dict, const char *key) | 637 | char *xs_dict_get(char *dict, const char *key) |
| 642 | /* returns the value directed by key */ | 638 | /* returns the value directed by key */ |
| 643 | { | 639 | { |
| 644 | char *k, *v, *r = NULL; | 640 | char *k, *v; |
| 645 | 641 | ||
| 646 | while (xs_dict_iter(&dict, &k, &v)) { | 642 | while (xs_dict_iter(&dict, &k, &v)) { |
| 647 | if (strcmp(k, key) == 0) { | 643 | if (strcmp(k, key) == 0) |
| 648 | r = v; | 644 | return v; |
| 649 | break; | ||
| 650 | } | ||
| 651 | } | 645 | } |
| 652 | 646 | ||
| 653 | return r; | 647 | return NULL; |
| 654 | } | 648 | } |
| 655 | 649 | ||
| 656 | 650 | ||
diff --git a/xs_version.h b/xs_version.h index 0146965..ab2628c 100644 --- a/xs_version.h +++ b/xs_version.h | |||
| @@ -1 +1 @@ | |||
| /* 5b0cf1cb8fbe10458349a8a3904b26f76cd0a415 */ | /* bb26cbfdc4140e87739b15cfceeafa2e0305bf5e */ | ||