lil_append_val is just lil_append_string with the string and length taken
from a struct lil_value. Use lil_append_stringh_len to implement both. Do
the same for lil_clone_value.

Signed-off-by: Sean Anderson <sean...@gmail.com>
---

 common/cli_lil.c | 51 ++----------------------------------------------
 1 file changed, 2 insertions(+), 49 deletions(-)

diff --git a/common/cli_lil.c b/common/cli_lil.c
index 6c05531441..5875fbd46b 100644
--- a/common/cli_lil.c
+++ b/common/cli_lil.c
@@ -369,39 +369,7 @@ static struct lil_value *alloc_value(const char *str)
 
 struct lil_value *lil_clone_value(struct lil_value *src)
 {
-       struct lil_value *val;
-
-       if (!src)
-               return NULL;
-
-       if (IS_ENABLED(CONFIG_LIL_POOLS))
-               val = alloc_from_pool();
-       else
-               val = calloc(1, sizeof(struct lil_value));
-       if (!val)
-               return NULL;
-
-       val->l = src->l;
-       if (src->l) {
-               if (IS_ENABLED(CONFIG_LIL_POOLS)) {
-                       ensure_capacity(val, val->l + 1);
-               } else {
-                       val->d = malloc(val->l + 1);
-                       if (!val->d) {
-                               free(val);
-                               return NULL;
-                       }
-               }
-               memcpy(val->d, src->d, val->l + 1);
-       } else {
-               if (IS_ENABLED(CONFIG_LIL_POOLS)) {
-                       ensure_capacity(val, 1);
-                       val->d[0] = '\0';
-               } else {
-                       val->d = NULL;
-               }
-       }
-       return val;
+       return alloc_value_len(src->d, src->l);
 }
 
 int lil_append_char(struct lil_value *val, char ch)
@@ -450,22 +418,7 @@ int lil_append_string(struct lil_value *val, const char *s)
 
 int lil_append_val(struct lil_value *val, struct lil_value *v)
 {
-       if (!v || !v->l)
-               return 1;
-
-       if (IS_ENABLED(CONFIG_LIL_POOLS)) {
-               ensure_capacity(val, val->l + v->l + 1);
-               memcpy(val->d + val->l, v->d, v->l + 1);
-       } else {
-               char *new = realloc(val->d, val->l + v->l + 1);
-
-               if (!new)
-                       return 0;
-               memcpy(new + val->l, v->d, v->l + 1);
-               val->d = new;
-       }
-       val->l += v->l;
-       return 1;
+       return lil_append_string_len(val, v->d, v->l);
 }
 
 void lil_free_value(struct lil_value *val)
-- 
2.32.0

Reply via email to