diff options
author | LAN-TW <lantw44@gmail.com> | 2014-01-05 15:59:45 +0800 |
---|---|---|
committer | LAN-TW <lantw44@gmail.com> | 2014-01-05 15:59:45 +0800 |
commit | 6808c5b02ac11441838362579549770910ddbdc6 (patch) | |
tree | fc1132003be1aa63def5211762e7fb94dc2bf965 | |
parent | c04d1f40df443d209dfedca03b2f4320b7b48ba7 (diff) | |
download | l4basic-6808c5b02ac11441838362579549770910ddbdc6.tar l4basic-6808c5b02ac11441838362579549770910ddbdc6.tar.gz l4basic-6808c5b02ac11441838362579549770910ddbdc6.tar.bz2 l4basic-6808c5b02ac11441838362579549770910ddbdc6.tar.lz l4basic-6808c5b02ac11441838362579549770910ddbdc6.tar.xz l4basic-6808c5b02ac11441838362579549770910ddbdc6.tar.zst l4basic-6808c5b02ac11441838362579549770910ddbdc6.zip |
Do not ignore max argument when creating a LbsStrv
-rw-r--r-- | l4strv.c | 22 | ||||
-rw-r--r-- | l4strv.h | 1 |
2 files changed, 18 insertions, 5 deletions
@@ -12,7 +12,7 @@ LbsStrv* lbs_strv_new_with_max (size_t max) { return NULL; } - if (lbs_array_init (&strv->array, sizeof (LbsArray)) < 0) { + if (lbs_array_init_with_max (&strv->array, sizeof (LbsArray), max) < 0) { free (strv); return NULL; } @@ -23,7 +23,7 @@ LbsStrv* lbs_strv_new_with_max (size_t max) { } int lbs_strv_init_with_max (LbsStrv* strv, size_t max) { - if (lbs_array_init (&strv->array, sizeof (LbsArray)) < 0) { + if (lbs_array_init_with_max (&strv->array, sizeof (LbsArray), max) < 0) { return -1; } @@ -54,7 +54,7 @@ void lbs_strv_free_generic (void* strv_generic) { return; } LbsStrv* strv = LBS_STRV (strv_generic); - int i = 0; + size_t i = 0; for (; i < lbs_strv_get_len (strv); i++) { LbsArray* str_wrapper = lbs_strv_get_str_wrapper (strv, i); lbs_array_unref (str_wrapper); @@ -98,6 +98,18 @@ int lbs_strv_append_char (LbsStrv* strv, size_t stri, char chr) { return lbs_array_append_data (str, &chr); } +int lbs_strv_append_str_empty (LbsStrv* strv) { + LbsArray str_struct, *str = &str_struct; + if (lbs_array_init (str, sizeof (char)) < 0) { + return -1; + } + if (lbs_array_append_data (&strv->array, &str_struct) < 0) { + lbs_array_unref (str); + return -1; + } + return 0; +} + int lbs_strv_append_str (LbsStrv* strv, const char* bstr) { if (bstr == NULL) { return -1; @@ -155,7 +167,7 @@ int lbs_strv_minimize (LbsStrv* strv) { return -1; } - int i; + size_t i; size_t len = lbs_strv_get_len (strv); for (i = 0; i < len; i++) { LbsArray* str = lbs_strv_get_str_wrapper (strv, i); @@ -174,7 +186,7 @@ char** lbs_strv_copy_strv (LbsStrv* strv) { return NULL; } - int i; + size_t i; for (i = 0; i < len; i++) { LbsArray* str = lbs_strv_get_str_wrapper (strv, i); size_t str_len = lbs_array_get_len (str); @@ -57,6 +57,7 @@ char* lbs_strv_dup_str (LbsStrv* strv, size_t stri); (lbs_array_v (lbs_strv_get_str_wrapper (strv, stri), char, (chri))) int lbs_strv_append_char (LbsStrv* strv, size_t stri, char chr); +int lbs_strv_append_str_empty (LbsStrv* strv); int lbs_strv_append_str (LbsStrv* strv, const char* bstr); int lbs_strv_append_strv (LbsStrv* strv, const char* const* bstrv); int lbs_strv_remove_str (LbsStrv* strv); |