[Swfed-svn] swfed-svn [340] y_keyvalue_next がゴミの use フラグを見る不具合を修正

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2010年 11月 30日 (火) 01:26:57 JST


Revision: 340
          http://sourceforge.jp/projects/swfed/svn/view?view=rev&revision=340
Author:   yoya
Date:     2010-11-30 01:26:57 +0900 (Tue, 30 Nov 2010)

Log Message:
-----------
y_keyvalue_next がゴミの use フラグを見る不具合を修正

Modified Paths:
--------------
    trunk/src/y_keyvalue.c
    trunk/src/y_keyvalue.h


-------------- next part --------------
Modified: trunk/src/y_keyvalue.c
===================================================================
--- trunk/src/y_keyvalue.c	2010-11-29 16:13:13 UTC (rev 339)
+++ trunk/src/y_keyvalue.c	2010-11-29 16:26:57 UTC (rev 340)
@@ -128,13 +128,12 @@
     st->get_offset = -1;
 }
 int
-y_keyvalue_hasnext(y_keyvalue_t *st) {
-    do {
-        st->get_offset++;
+y_keyvalue_next(y_keyvalue_t *st) {
+    for (st->get_offset++; st->get_offset < st->use_len; st->get_offset++) {
         if (st->table[st->get_offset].use) {
             return 1; // found
         }
-    } while (st->get_offset < st->use_len);
+    } 
 
     return 0;// false
     
@@ -166,14 +165,14 @@
     y_keyvalue_set(st, "foo", 4, "baa", 4);
     y_keyvalue_set(st, "baz", 4, "buz", 4);
     y_keyvalue_rewind(st);
-    while(y_keyvalue_hasnext(st)) {
+    while(y_keyvalue_next(st)) {
         key = y_keyvalue_get_currentkey(st, &key_len);
         value = y_keyvalue_get_currentvalue(st, &value_len);
         printf("key=%s(%d), value=%s(%d)\n", key, key_len, value, value_len);
     }
     y_keyvalue_delete(st, "foo", 4);
     y_keyvalue_rewind(st);
-    while(y_keyvalue_hasnext(st)) {
+    while(y_keyvalue_next(st)) {
         key = y_keyvalue_get_currentkey(st, &key_len);
         value = y_keyvalue_get_currentvalue(st, &value_len);
         printf("key=%s(%d), value=%s(%d)\n", key, key_len, value, value_len);

Modified: trunk/src/y_keyvalue.h
===================================================================
--- trunk/src/y_keyvalue.h	2010-11-29 16:13:13 UTC (rev 339)
+++ trunk/src/y_keyvalue.h	2010-11-29 16:26:57 UTC (rev 340)
@@ -26,7 +26,7 @@
 
 // itelator
 extern void y_keyvalue_rewind(y_keyvalue_t *st);
-extern int y_keyvalue_hasnext(y_keyvalue_t *st);
+extern int y_keyvalue_next(y_keyvalue_t *st);
 extern char * y_keyvalue_get_currentkey(y_keyvalue_t *st, int *key_len);
 extern char * y_keyvalue_get_currentvalue(y_keyvalue_t *st, int *value_len);
 



Swfed-svn メーリングリストの案内
Back to archive index