# HG changeset patch # User Olaf Wintermann # Date 1525776596 -7200 # Node ID 6af5798342e873622deef721b39f78fd7bf039f1 # Parent f1b2146d48053db1435f00d4da088895d2778286 makes sstrcat and sstrnlen scstr_t compatible diff -r f1b2146d4805 -r 6af5798342e8 src/string.c --- a/src/string.c Sun Apr 01 09:51:01 2018 +0200 +++ b/src/string.c Tue May 08 12:49:56 2018 +0200 @@ -65,13 +65,14 @@ } -size_t sstrnlen(size_t n, sstr_t s, ...) { +size_t ucx_strnlen(size_t n, ...) { va_list ap; - size_t size = s.length; - va_start(ap, s); + va_start(ap, n); + + size_t size = 0; - for (size_t i = 1 ; i < n ; i++) { - sstr_t str = va_arg(ap, sstr_t); + for (size_t i = 0 ; i < n ; i++) { + scstr_t str = va_arg(ap, scstr_t); if(((size_t)-1) - str.length < size) { size = 0; break; @@ -86,8 +87,7 @@ static sstr_t sstrvcat_a( UcxAllocator *a, size_t count, - sstr_t s1, - sstr_t s2, + scstr_t s1, va_list ap) { sstr_t str; str.ptr = NULL; @@ -96,11 +96,13 @@ return str; } + scstr_t s2 = va_arg (ap, scstr_t); + if(((size_t)-1) - s1.length < s2.length) { return str; } - sstr_t *strings = (sstr_t*) calloc(count, sizeof(sstr_t)); + scstr_t *strings = (scstr_t*) calloc(count, sizeof(scstr_t)); if(!strings) { return str; } @@ -111,7 +113,7 @@ size_t slen = s1.length + s2.length; int error = 0; for (size_t i=2;i