OSDN Git Service

referenceCountを導入。今のところ正常に動作している。メモリリークについても一部改善。69.67KB(1852/2023)>36.59KB(588/2163)
[chnosproject/CHNOSProject.git] / CHNOSProject / libtest / libtest / main.c
index c545af5..49e98dc 100644 (file)
 
 int main(int argc, const char * argv[])
 {
-    CHNLIB_String *s, *t;
+    //CHNLIB_String *s, *t;
     CHNLIB_UIPArray *separated;
+    char str[1024];
+    int i;
     
     separated = CHNLIB_UIPArray_Initialize();
-    s = CHNLIB_String_Initialize("あいうえおかきくけこ");
-    t = CHNLIB_String_Initialize("た");
     
-    CHNLIB_UIPArray_GetSeparatedUTF8Character(&separated, s);
+    for(i = 0; i < 32; i++){
+        snprintf(str, sizeof(str), "Number %d.", i);
+        CHNLIB_UIPArray_AppendLast(&separated, i, autorelease(CHNLIB_String_Initialize(str)));
+    }
     
-    printf("%d bytes, %d characters\n", CHNLIB_String_GetLength(s), CHNLIB_UTF8_GetStringLengthByCharacter(CHNLIB_String_GetReferencePointerOfCString(s)));
-    printf("%d bytes, %d characters\n", CHNLIB_String_GetLength(t), CHNLIB_UTF8_GetStringLengthByCharacter(CHNLIB_String_GetReferencePointerOfCString(t)));
+    CHNLIB_Debug_PrintStructureData(separated, 0);
+    
+    //CHNLIB_Release((void **)&separated);
+    release(separated);
     
-    printf("match %d character(s).\n", CHNLIB_UTF8_CompareString_LeftHand(CHNLIB_String_GetReferencePointerOfCString(s), CHNLIB_String_GetReferencePointerOfCString(t)));
-    printf("match %d character(s).\n", CHNLIB_UTF8_CompareString_LeftHand(CHNLIB_String_GetReferencePointerOfCString(t), CHNLIB_String_GetReferencePointerOfCString(s)));
-    printf("match %d character(s).\n", CHNLIB_UTF8_CompareString_LeftHand(CHNLIB_String_GetReferencePointerOfCString(s), CHNLIB_String_GetReferencePointerOfCString(s)));
-    printf("match %d character(s).\n", CHNLIB_UTF8_CompareString_LeftHand(CHNLIB_String_GetReferencePointerOfCString(t), CHNLIB_String_GetReferencePointerOfCString(t)));
-     
-    printf("%d\n", CHNLIB_UTF8_GetCountOfContain(CHNLIB_String_GetReferencePointerOfCString(s), CHNLIB_String_GetReferencePointerOfCString(t)));
     
     CHNLIB_Debug_PrintStructureData(separated, 0);
-    printf("%d\n", CHNLIB_UIPArray_RemoveByIndex(&separated, 0));
-    CHNLIB_Debug_PrintStructureData(separated, 0);
+    
     return 0;
 }