[Swfed-svn] swfed-svn [339] モジュール名を strtable から keyvalue に変更

Back to archive index

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


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

Log Message:
-----------
モジュール名を strtable から keyvalue に変更

Modified Paths:
--------------
    trunk/src/config.m4

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

Removed Paths:
-------------
    trunk/src/y_strtable.c
    trunk/src/y_strtable.h


-------------- next part --------------
Modified: trunk/src/config.m4
===================================================================
--- trunk/src/config.m4	2010-11-29 16:07:40 UTC (rev 338)
+++ trunk/src/config.m4	2010-11-29 16:13:13 UTC (rev 339)
@@ -73,6 +73,6 @@
 	swf_shape_record.c swf_shape_record_end.c swf_shape_record_setup.c \
 	swf_shape_record_edge.c swf_gradient.c  swf_gradient_record.c \
 	swf_tag_jpeg.c swf_tag_edit.c swf_tag_action.c swf_tag_lossless.c \
-	swf_tag_sound.c swf_tag_sprite.c swf_tag_shape.c y_strtable.c \
+	swf_tag_sound.c swf_tag_sprite.c swf_tag_shape.c y_keyvalue.c \
 	, $ext_shared)
 fi

Copied: trunk/src/y_keyvalue.c (from rev 338, trunk/src/y_strtable.c)
===================================================================
--- trunk/src/y_keyvalue.c	                        (rev 0)
+++ trunk/src/y_keyvalue.c	2010-11-29 16:13:13 UTC (rev 339)
@@ -0,0 +1,186 @@
+/*
+    gcc -W -Wall -D__KEYVALUE_DEBUG__ -DMALLOC_DEBUG y_keyvalue.c swf_debug.c
+ */
+#include <stdio.h>
+#include <malloc.h>
+#include <string.h>
+#include "swf_define.h"
+#include "y_keyvalue.h"
+
+//#define Y_KEYVALUE_INITSIZE 10
+#define Y_KEYVALUE_INITSIZE 1
+
+/*
+ * open/close
+ */
+y_keyvalue_t *
+y_keyvalue_open() {
+    y_keyvalue_t *st = calloc(sizeof(*st), 1);
+    if (st == NULL) {
+        fprintf(stderr, "y_keyvalue_open: calloc failed\n");
+        return NULL;
+    }
+    st->use_len = 0;
+    st->alloc_len = Y_KEYVALUE_INITSIZE;
+    st->table = malloc(sizeof(*st->table) * Y_KEYVALUE_INITSIZE);
+    return st;
+}
+
+void
+y_keyvalue_close(y_keyvalue_t *st) {
+    int i;
+    for (i = 0 ; i < st->use_len ; i++) {
+        if (st->table[i].use) {
+            free(st->table[i].key);
+            free(st->table[i].value);
+        }
+    }
+    free(st->table);
+    free(st);
+}
+
+
+/*
+ * set/get/delete
+ */
+
+int
+y_keyvalue_set(y_keyvalue_t *st, char *key, int key_len, char *value, int value_len) {
+    int i, offset = -1;
+    void *tmp;
+    if (st->use_len < st->alloc_len) {
+        offset = st->use_len;
+    } else {
+        for (i = 0 ; i < st->alloc_len ; i++) {
+            if (st->table[i].use == 0) {
+                offset = i;
+                break;
+            }
+        }
+        if (offset == -1) {
+            tmp = realloc(st->table, 2 * st->alloc_len * sizeof(*(st->table)));
+            if (tmp == NULL) {
+                fprintf(stderr, "y_keyvalue_set: realloc failed\n");
+                return 1;
+            }
+            st->table = tmp;
+            st->alloc_len = 2 * st->alloc_len;
+            offset = st->use_len;
+        }
+    }
+    st->table[offset].key = malloc(key_len);
+    if (st->table[offset].key == NULL) {
+        
+    }
+    st->table[offset].value = malloc(value_len);
+    if (st->table[offset].value == NULL) {
+        free(st->table[offset].key);
+        return 1; // NG
+    }
+    memcpy(st->table[offset].key, key, key_len);
+    memcpy(st->table[offset].value, value, value_len);
+    st->table[offset].key_len = key_len;
+    st->table[offset].value_len = value_len;
+    st->table[offset].use = 1;
+    if (offset == st->use_len) {
+        st->use_len = offset + 1;
+    }
+    return 0;
+}
+
+char *
+y_keyvalue_get(y_keyvalue_t *st, char *key, int key_len, int *value_len) {
+    int i;
+    for (i = 0 ; i < st->use_len ; i++) {
+        if ((st->table[i].use) &&
+            (st->table[i].key_len == key_len) &&
+            (memcmp(st->table[i].key, key, key_len) == 0)) {
+            *value_len = st->table[i].value_len;
+            return st->table[i].key;
+        }
+    }
+    return NULL;
+}
+
+int
+y_keyvalue_delete(y_keyvalue_t *st, char *key, int key_len) {
+    int i;
+    for (i = 0 ; i < st->use_len ; i++) {
+        if ((st->table[i].use) &&
+            (st->table[i].key_len == key_len) &&
+            (memcmp(st->table[i].key, key, key_len) == 0)) {
+            free(st->table[i].key);
+            free(st->table[i].value);
+            st->table[i].key = 0;
+            st->table[i].value = 0;
+            st->table[i].use = 0;
+            return 0;
+        }
+    }
+    return 1;
+}
+
+/*
+ * itelator
+ */
+void
+y_keyvalue_rewind(y_keyvalue_t *st) {
+    st->get_offset = -1;
+}
+int
+y_keyvalue_hasnext(y_keyvalue_t *st) {
+    do {
+        st->get_offset++;
+        if (st->table[st->get_offset].use) {
+            return 1; // found
+        }
+    } while (st->get_offset < st->use_len);
+
+    return 0;// false
+    
+}
+char *
+y_keyvalue_get_currentkey(y_keyvalue_t *st, int *key_len) {
+    if (st->get_offset >= st->use_len) {
+        return NULL;
+    }
+    *key_len = st->table[st->get_offset].key_len;
+    return st->table[st->get_offset].key;
+}
+char *
+y_keyvalue_get_currentvalue(y_keyvalue_t *st, int *value_len) {
+    if (st->get_offset >= st->use_len) {
+        return NULL;
+    }
+    *value_len = st->table[st->get_offset].value_len;
+    return st->table[st->get_offset].value;
+}
+
+#ifdef __KEYVALUE_DEBUG__
+
+int main(void) {
+    char *key, *value;
+    int key_len, value_len;
+    malloc_debug_start();
+    y_keyvalue_t *st = y_keyvalue_open();
+    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)) {
+        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)) {
+        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_close(st);
+    malloc_debug_end();
+    return 0;
+}
+
+#endif /* __KEYVALUE_DEBUG__ */

Copied: trunk/src/y_keyvalue.h (from rev 338, trunk/src/y_strtable.h)
===================================================================
--- trunk/src/y_keyvalue.h	                        (rev 0)
+++ trunk/src/y_keyvalue.h	2010-11-29 16:13:13 UTC (rev 339)
@@ -0,0 +1,34 @@
+#ifndef __Y_KEYVALUE_H__
+#define __Y_KEYVALUE_H__
+
+typedef struct _y_keyvalue_entry_t {
+    char *key, *value;
+    int key_len, value_len;
+    int use;
+} y_keyvalue_entry_t;
+
+typedef struct _y_keyvalue_t {
+    int use_len;
+    int alloc_len;
+    y_keyvalue_entry_t *table;
+    //
+    signed int get_offset;
+} y_keyvalue_t;
+
+// open/close
+extern y_keyvalue_t *y_keyvalue_open();
+extern void y_keyvalue_close(y_keyvalue_t *st);
+
+// set/get/delete
+extern int y_keyvalue_set(y_keyvalue_t *st, char *key, int key_len, char *value, int value_len);
+extern char *y_keyvalue_get(y_keyvalue_t *st, char *key, int key_len,int *value_len);
+extern int y_keyvalue_delete(y_keyvalue_t *st, char *key, int key_len);
+
+// itelator
+extern void y_keyvalue_rewind(y_keyvalue_t *st);
+extern int y_keyvalue_hasnext(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);
+
+
+#endif /* __Y_KEYVALUE_H__ */

Deleted: trunk/src/y_strtable.c
===================================================================
--- trunk/src/y_strtable.c	2010-11-29 16:07:40 UTC (rev 338)
+++ trunk/src/y_strtable.c	2010-11-29 16:13:13 UTC (rev 339)
@@ -1,186 +0,0 @@
-/*
-    gcc -W -Wall -D__STRTABLE_DEBUG__ -DMALLOC_DEBUG y_strtable.c swf_debug.c
- */
-#include <stdio.h>
-#include <malloc.h>
-#include <string.h>
-#include "swf_define.h"
-#include "y_strtable.h"
-
-//#define Y_STRTABLE_INITSIZE 10
-#define Y_STRTABLE_INITSIZE 1
-
-/*
- * open/close
- */
-y_strtable_t *
-y_strtable_open() {
-    y_strtable_t *st = calloc(sizeof(*st), 1);
-    if (st == NULL) {
-        fprintf(stderr, "y_strtable_open: calloc failed\n");
-        return NULL;
-    }
-    st->use_len = 0;
-    st->alloc_len = Y_STRTABLE_INITSIZE;
-    st->table = malloc(sizeof(*st->table) * Y_STRTABLE_INITSIZE);
-    return st;
-}
-
-void
-y_strtable_close(y_strtable_t *st) {
-    int i;
-    for (i = 0 ; i < st->use_len ; i++) {
-        if (st->table[i].use) {
-            free(st->table[i].key);
-            free(st->table[i].value);
-        }
-    }
-    free(st->table);
-    free(st);
-}
-
-
-/*
- * set/get/delete
- */
-
-int
-y_strtable_set(y_strtable_t *st, char *key, int key_len, char *value, int value_len) {
-    int i, offset = -1;
-    void *tmp;
-    if (st->use_len < st->alloc_len) {
-        offset = st->use_len;
-    } else {
-        for (i = 0 ; i < st->alloc_len ; i++) {
-            if (st->table[i].use == 0) {
-                offset = i;
-                break;
-            }
-        }
-        if (offset == -1) {
-            tmp = realloc(st->table, 2 * st->alloc_len * sizeof(*(st->table)));
-            if (tmp == NULL) {
-                fprintf(stderr, "y_strtable_set: realloc failed\n");
-                return 1;
-            }
-            st->table = tmp;
-            st->alloc_len = 2 * st->alloc_len;
-            offset = st->use_len;
-        }
-    }
-    st->table[offset].key = malloc(key_len);
-    if (st->table[offset].key == NULL) {
-        
-    }
-    st->table[offset].value = malloc(value_len);
-    if (st->table[offset].value == NULL) {
-        free(st->table[offset].key);
-        return 1; // NG
-    }
-    memcpy(st->table[offset].key, key, key_len);
-    memcpy(st->table[offset].value, value, value_len);
-    st->table[offset].key_len = key_len;
-    st->table[offset].value_len = value_len;
-    st->table[offset].use = 1;
-    if (offset == st->use_len) {
-        st->use_len = offset + 1;
-    }
-    return 0;
-}
-
-char *
-y_strtable_get(y_strtable_t *st, char *key, int key_len, int *value_len) {
-    int i;
-    for (i = 0 ; i < st->use_len ; i++) {
-        if ((st->table[i].use) &&
-            (st->table[i].key_len == key_len) &&
-            (memcmp(st->table[i].key, key, key_len) == 0)) {
-            *value_len = st->table[i].value_len;
-            return st->table[i].key;
-        }
-    }
-    return NULL;
-}
-
-int
-y_strtable_delete(y_strtable_t *st, char *key, int key_len) {
-    int i;
-    for (i = 0 ; i < st->use_len ; i++) {
-        if ((st->table[i].use) &&
-            (st->table[i].key_len == key_len) &&
-            (memcmp(st->table[i].key, key, key_len) == 0)) {
-            free(st->table[i].key);
-            free(st->table[i].value);
-            st->table[i].key = 0;
-            st->table[i].value = 0;
-            st->table[i].use = 0;
-            return 0;
-        }
-    }
-    return 1;
-}
-
-/*
- * itelator
- */
-void
-y_strtable_rewind(y_strtable_t *st) {
-    st->get_offset = -1;
-}
-int
-y_strtable_hasnext(y_strtable_t *st) {
-    do {
-        st->get_offset++;
-        if (st->table[st->get_offset].use) {
-            return 1; // found
-        }
-    } while (st->get_offset < st->use_len);
-
-    return 0;// false
-    
-}
-char *
-y_strtable_get_currentkey(y_strtable_t *st, int *key_len) {
-    if (st->get_offset >= st->use_len) {
-        return NULL;
-    }
-    *key_len = st->table[st->get_offset].key_len;
-    return st->table[st->get_offset].key;
-}
-char *
-y_strtable_get_currentvalue(y_strtable_t *st, int *value_len) {
-    if (st->get_offset >= st->use_len) {
-        return NULL;
-    }
-    *value_len = st->table[st->get_offset].value_len;
-    return st->table[st->get_offset].value;
-}
-
-#ifdef __STRTABLE_DEBUG__
-
-int main(void) {
-    char *key, *value;
-    int key_len, value_len;
-    malloc_debug_start();
-    y_strtable_t *st = y_strtable_open();
-    y_strtable_set(st, "foo", 4, "baa", 4);
-    y_strtable_set(st, "baz", 4, "buz", 4);
-    y_strtable_rewind(st);
-    while(y_strtable_hasnext(st)) {
-        key = y_strtable_get_currentkey(st, &key_len);
-        value = y_strtable_get_currentvalue(st, &value_len);
-        printf("key=%s(%d), value=%s(%d)\n", key, key_len, value, value_len);
-    }
-    y_strtable_delete(st, "foo", 4);
-    y_strtable_rewind(st);
-    while(y_strtable_hasnext(st)) {
-        key = y_strtable_get_currentkey(st, &key_len);
-        value = y_strtable_get_currentvalue(st, &value_len);
-        printf("key=%s(%d), value=%s(%d)\n", key, key_len, value, value_len);
-    }
-    y_strtable_close(st);
-    malloc_debug_end();
-    return 0;
-}
-
-#endif /* __STRTABLE_DEBUG__ */

Deleted: trunk/src/y_strtable.h
===================================================================
--- trunk/src/y_strtable.h	2010-11-29 16:07:40 UTC (rev 338)
+++ trunk/src/y_strtable.h	2010-11-29 16:13:13 UTC (rev 339)
@@ -1,34 +0,0 @@
-#ifndef __STRTABLE_H
-#define __STRTABLE_H
-
-typedef struct _y_strtable_entry_t {
-    char *key, *value;
-    int key_len, value_len;
-    int use;
-} y_strtable_entry_t;
-
-typedef struct _y_strtable_t {
-    int use_len;
-    int alloc_len;
-    y_strtable_entry_t *table;
-    //
-    signed int get_offset;
-} y_strtable_t;
-
-// open/close
-extern y_strtable_t *y_strtable_open();
-extern void y_strtable_close(y_strtable_t *st);
-
-// set/get/delete
-extern int y_strtable_set(y_strtable_t *st, char *key, int key_len, char *value, int value_len);
-extern char *y_strtable_get(y_strtable_t *st, char *key, int key_len,int *value_len);
-extern int y_strtable_delete(y_strtable_t *st, char *key, int key_len);
-
-// itelator
-extern void y_strtable_rewind(y_strtable_t *st);
-extern int y_strtable_hasnext(y_strtable_t *st);
-extern char * y_strtable_get_currentkey(y_strtable_t *st, int *key_len);
-extern char * y_strtable_get_currentvalue(y_strtable_t *st, int *value_len);
-
-
-#endif /* __STRTABLE_H */



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