Fix: cli: increment bt_value_null ref count when returning null value
[babeltrace.git] / src / cli / babeltrace2-cfg-cli-params-arg.c
index 622080a9abd869566d8c774068a5d80b6639ddd6..79cde92970a53d49d221fc9e100daf61c3abc941 100644 (file)
@@ -29,7 +29,6 @@
 #include <inttypes.h>
 #include <babeltrace2/babeltrace.h>
 #include "common/common.h"
-#include <popt.h>
 #include <glib.h>
 #include <sys/types.h>
 #include "babeltrace2-cfg.h"
@@ -87,7 +86,7 @@ void ini_append_error_expecting(struct ini_parsing_state *state,
        g_string_append_printf(state->ini_error, "Expecting %s:\n", expecting);
 
        /* Only append error if there's one line */
-       if (strchr(state->arg, '\n') != NULL || strlen(state->arg) == 0) {
+       if (strchr(state->arg, '\n') || strlen(state->arg) == 0) {
                return;
        }
 
@@ -127,7 +126,7 @@ bt_value *ini_parse_uint(struct ini_parsing_state *state)
                goto end;
        }
 
-       value = bt_value_unsigned_integer_create_init(
+       value = bt_value_integer_unsigned_create_init(
                state->scanner->value.v_int64);
 
 end:
@@ -154,7 +153,7 @@ bt_value *ini_parse_neg_number(struct ini_parsing_state *state)
                                "Integer value -%" PRIu64 " is outside the range of a 64-bit signed integer\n",
                                int_val);
                } else {
-                       value = bt_value_signed_integer_create_init(
+                       value = bt_value_integer_signed_create_init(
                                -((int64_t) int_val));
                }
 
@@ -292,7 +291,7 @@ bt_value *ini_parse_value(struct ini_parsing_state *state)
                                int_val);
                        goto end;
                } else {
-                       value = bt_value_signed_integer_create_init(
+                       value = bt_value_integer_signed_create_init(
                                (int64_t) int_val);
                }
 
@@ -321,6 +320,7 @@ bt_value *ini_parse_value(struct ini_parsing_state *state)
                if (strcmp(id, "null") == 0 || strcmp(id, "NULL") == 0 ||
                                strcmp(id, "nul") == 0) {
                        value = bt_value_null;
+                       bt_value_get_ref(value);
                } else if (strcmp(id, "true") == 0 || strcmp(id, "TRUE") == 0 ||
                                strcmp(id, "yes") == 0 ||
                                strcmp(id, "YES") == 0) {
This page took 0.036571 seconds and 4 git commands to generate.