X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fcontext.c;fp=src%2Fcommon%2Fcontext.c;h=0000000000000000000000000000000000000000;hp=e2e2b60d6490e78655a7330c73b54e08fbc4d1b4;hb=a6bc4ca9d659caf016ef932fcd944029737ac57c;hpb=97535efaa975ca52bf02c2d5e76351bfd2e3defa diff --git a/src/common/context.c b/src/common/context.c deleted file mode 100644 index e2e2b60d6..000000000 --- a/src/common/context.c +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (C) 2016 Jérémie Galarneau - * - * SPDX-License-Identifier: LGPL-2.1-only - * - */ - -#include "context.h" -#include -#include -#include -#include - -int parse_application_context(const char *str, char **out_provider_name, - char **out_ctx_name) -{ - const char app_ctx_prefix[] = "$app."; - char *provider_name = NULL, *ctx_name = NULL; - size_t i, len, colon_pos = 0, provider_name_len, ctx_name_len; - - if (!str || !out_provider_name || !out_ctx_name) { - goto not_found; - } - - len = strlen(str); - if (len <= sizeof(app_ctx_prefix) - 1) { - goto not_found; - } - - /* String starts with $app. */ - if (strncmp(str, app_ctx_prefix, sizeof(app_ctx_prefix) - 1)) { - goto not_found; - } - - /* Validate that the ':' separator is present. */ - for (i = sizeof(app_ctx_prefix); i < len; i++) { - const char c = str[i]; - - if (c == ':') { - colon_pos = i; - break; - } - } - - /* - * No colon found or no ctx name ("$app.provider:") or no provider name - * given ("$app.:..."), which is invalid. - */ - if (!colon_pos || colon_pos == len || - colon_pos == sizeof(app_ctx_prefix)) { - goto not_found; - } - - provider_name_len = colon_pos - sizeof(app_ctx_prefix) + 2; - provider_name = zmalloc(provider_name_len); - if (!provider_name) { - PERROR("malloc provider_name"); - goto not_found; - } - strncpy(provider_name, str + sizeof(app_ctx_prefix) - 1, - provider_name_len - 1); - - ctx_name_len = len - colon_pos; - ctx_name = zmalloc(ctx_name_len); - if (!ctx_name) { - PERROR("malloc ctx_name"); - goto not_found; - } - strncpy(ctx_name, str + colon_pos + 1, ctx_name_len - 1); - - *out_provider_name = provider_name; - *out_ctx_name = ctx_name; - return 0; -not_found: - free(provider_name); - free(ctx_name); - return -1; -} -