X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=src%2Fparam-parse%2Fparam-parse.c;h=3c7b2de4dbf69f3205c75ec60baeb8f8bd9ec071;hp=e2385ad81ada129606bf1300cf75eb225f8b5c98;hb=0235b0db7de5bcacdb3650c92461f2ce5eb2143d;hpb=5869b17917abc1d8db6b6c1696e00b5f2ec24eda diff --git a/src/param-parse/param-parse.c b/src/param-parse/param-parse.c index e2385ad8..3c7b2de4 100644 --- a/src/param-parse/param-parse.c +++ b/src/param-parse/param-parse.c @@ -1,25 +1,11 @@ /* - * Copyright 2016-2019 Philippe Proulx - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. + * SPDX-License-Identifier: MIT * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. + * Copyright 2016-2019 Philippe Proulx */ +#include "param-parse.h" + #include #include #include @@ -94,10 +80,10 @@ void ini_append_error_expecting(struct ini_parsing_state *state, } for (i = 0; i < pos; ++i) { - g_string_append_printf(state->ini_error, " "); + g_string_append_c(state->ini_error, ' '); } - g_string_append_printf(state->ini_error, "^\n\n"); + g_string_append_c(state->ini_error, '^'); } static @@ -498,14 +484,6 @@ int ini_handle_state(struct ini_parsing_state *state) g_string_assign(state->last_map_key, state->scanner->value.v_identifier); - if (bt_value_map_has_entry(state->params, - state->last_map_key->str)) { - g_string_append_printf(state->ini_error, - "Duplicate parameter key: `%s`\n", - state->last_map_key->str); - goto error; - } - state->expecting = INI_EXPECT_EQUAL; goto success; case INI_EXPECT_EQUAL: @@ -549,7 +527,7 @@ int ini_handle_state(struct ini_parsing_state *state) state->expecting = INI_EXPECT_MAP_KEY; goto success; default: - abort(); + bt_common_abort(); } error: @@ -581,14 +559,14 @@ bt_value *bt_param_parse(const char *arg, GString *ini_error) /* Lexical scanner configuration */ GScannerConfig scanner_config = { /* Skip whitespaces */ - .cset_skip_characters = " \t\n", + .cset_skip_characters = (gchar *) " \t\n", /* Identifier syntax is: [a-zA-Z_][a-zA-Z0-9_.:-]* */ - .cset_identifier_first = + .cset_identifier_first = (gchar *) G_CSET_a_2_z "_" G_CSET_A_2_Z, - .cset_identifier_nth = + .cset_identifier_nth = (gchar *) G_CSET_a_2_z "_0123456789-.:" G_CSET_A_2_Z,