Wed, 27 Feb 2013 16:59:02 +0100
happy 100th commit + removed deprecated sstrcat + fixed sstrncat
g++-debug.mk | file | annotate | diff | comparison | revisions | |
g++.mk | file | annotate | diff | comparison | revisions | |
test/string_tests.c | file | annotate | diff | comparison | revisions | |
ucx/string.c | file | annotate | diff | comparison | revisions |
1.1 --- a/g++-debug.mk Wed Feb 27 14:52:52 2013 +0100 1.2 +++ b/g++-debug.mk Wed Feb 27 16:59:02 2013 +0100 1.3 @@ -31,7 +31,7 @@ 1.4 AR = ar 1.5 RM = rm 1.6 1.7 -CFLAGS = -std=gnu++11 -g -O2 -fstrict-aliasing -Werror -Wall -pedantic -c 1.8 +CFLAGS = -std=gnu++0x -g -O2 -fstrict-aliasing -Werror -Wall -pedantic -c 1.9 COFLAGS = -o 1.10 LDFLAGS = 1.11 LOFLAGS = -o
2.1 --- a/g++.mk Wed Feb 27 14:52:52 2013 +0100 2.2 +++ b/g++.mk Wed Feb 27 16:59:02 2013 +0100 2.3 @@ -31,7 +31,7 @@ 2.4 AR = ar 2.5 RM = rm 2.6 2.7 -CFLAGS = -std=gnu++11 -O2 -fstrict-aliasing -c 2.8 +CFLAGS = -std=gnu++0x -O2 -fstrict-aliasing -c 2.9 COFLAGS = -o 2.10 LDFLAGS = 2.11 LOFLAGS = -o
3.1 --- a/test/string_tests.c Wed Feb 27 14:52:52 2013 +0100 3.2 +++ b/test/string_tests.c Wed Feb 27 16:59:02 2013 +0100 3.3 @@ -21,22 +21,15 @@ 3.4 sstr_t s2 = S(".:.:."); 3.5 sstr_t s3 = S("X"); 3.6 3.7 + size_t len = sstrnlen(3, s1, s2, s3); 3.8 sstr_t cat; 3.9 - 3.10 - size_t len = sstrnlen(3, s1, s2, s3); 3.11 + cat.ptr = (char*) malloc(16); 3.12 + cat.length = 16; 3.13 + cat = sstrncat(3, cat, s1, s2, s3); 3.14 3.15 UCX_TEST_BEGIN 3.16 3.17 - UCX_TEST_ASSERT(len == s1.length + s2.length + s3.length, 3.18 - "sstrnlen returned wrong size"); 3.19 - 3.20 - len = s1.length + s2.length + s3.length; 3.21 - 3.22 - cat.ptr = (char*) malloc(len + 1); 3.23 - cat.ptr[len] = 0; 3.24 - cat.length = len; 3.25 - 3.26 - sstrncat(3, cat, s1, s2, s3); 3.27 + UCX_TEST_ASSERT(len == 10, "sstrnlen returned wrong size"); 3.28 3.29 UCX_TEST_ASSERT(cat.ptr[0] == '1', "sstrncat, wrong content"); 3.30 UCX_TEST_ASSERT(cat.ptr[1] == '2', "sstrncat, wrong content"); 3.31 @@ -45,6 +38,7 @@ 3.32 UCX_TEST_ASSERT(cat.ptr[4] == '.', "sstrncat, wrong content"); 3.33 UCX_TEST_ASSERT(cat.ptr[8] == '.', "sstrncat, wrong content"); 3.34 UCX_TEST_ASSERT(cat.ptr[9] == 'X', "sstrncat, wrong content"); 3.35 + UCX_TEST_ASSERT(cat.length == 10, "sstrncat, wrong length"); 3.36 3.37 UCX_TEST_END 3.38 3.39 @@ -176,8 +170,8 @@ 3.40 } 3.41 3.42 UCX_TEST_IMPLEMENT(test_sstrtrim) { 3.43 - sstr_t test = sstrtrim(sstr(" ein test ")); 3.44 - sstr_t empty = sstrtrim(sstr("")); 3.45 + sstr_t test = sstrtrim(sstr((char*)" ein test ")); 3.46 + sstr_t empty = sstrtrim(sstr((char*)"")); 3.47 UCX_TEST_BEGIN 3.48 UCX_TEST_ASSERT(strncmp(test.ptr, "ein test", test.length) == 0, "failed"); 3.49 UCX_TEST_ASSERT(empty.length == 0, "empty string failed");
4.1 --- a/ucx/string.c Wed Feb 27 14:52:52 2013 +0100 4.2 +++ b/ucx/string.c Wed Feb 27 16:59:02 2013 +0100 4.3 @@ -39,21 +39,6 @@ 4.4 return size; 4.5 } 4.6 4.7 -sstr_t sstrcat(sstr_t s, ...) { 4.8 - va_list ap; 4.9 - va_start(ap, s); 4.10 - s.ptr[0] = 0; 4.11 - 4.12 - sstr_t str = va_arg (ap, sstr_t); 4.13 - while (str.ptr != NULL) { 4.14 - s.ptr = strncat (s.ptr, str.ptr, s.length); 4.15 - str = va_arg (ap, sstr_t); 4.16 - } 4.17 - va_end(ap); 4.18 - 4.19 - return s; 4.20 -} 4.21 - 4.22 sstr_t sstrncat(size_t n, sstr_t s, sstr_t c1, ...) { 4.23 va_list ap; 4.24 va_start(ap, c1); 4.25 @@ -78,6 +63,7 @@ 4.26 ptr += cplen; 4.27 } 4.28 va_end(ap); 4.29 + s.length = ptr - s.ptr; 4.30 4.31 return s; 4.32 }