summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xs.h32
-rw-r--r--xs_version.h2
2 files changed, 14 insertions, 20 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)
475char *xs_list_get(char *list, int num) 475char *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)
641char *xs_dict_get(char *dict, const char *key) 637char *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 */