X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=src%2Fplugins%2Fctf%2Ffs-sink%2Ffs-sink-trace.c;h=e9097848c8ab0b624b87a49e8acdd2d77a912c3e;hp=3d647d2d769e858cdff2b47b839a6582b5985071;hb=0235b0db7de5bcacdb3650c92461f2ce5eb2143d;hpb=4a543d068d5e70fb3ce52395524618d6292c4bf2 diff --git a/src/plugins/ctf/fs-sink/fs-sink-trace.c b/src/plugins/ctf/fs-sink/fs-sink-trace.c index 3d647d2d..e9097848 100644 --- a/src/plugins/ctf/fs-sink/fs-sink-trace.c +++ b/src/plugins/ctf/fs-sink/fs-sink-trace.c @@ -1,23 +1,7 @@ /* - * Copyright 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: + * SPDX-License-Identifier: MIT * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * 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 2019 Philippe Proulx */ #define BT_COMP_LOG_SELF_COMP (trace->fs_sink->self_comp) @@ -133,6 +117,15 @@ GString *make_unique_trace_path(const char *path) return unique_path; } +/* + * Disable `deprecated-declarations` warnings for + * lttng_validate_datetime() because we're using `GTimeVal` and + * g_time_val_from_iso8601() which are deprecated since GLib 2.56 + * (Babeltrace supports older versions too). + */ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + /* * Validate that the input string `datetime` is an ISO8601-compliant string (the * format used by LTTng in the metadata). @@ -162,6 +155,8 @@ end: return ret; } +#pragma GCC diagnostic pop + static int append_lttng_trace_path_ust_uid(const struct fs_sink_trace *trace, GString *path, const bt_trace *tc) @@ -396,6 +391,7 @@ static GString *make_trace_path_rel(const struct fs_sink_trace *trace) { GString *path = NULL; + const char *trace_name; if (trace->fs_sink->assume_single_trace) { /* Use output directory directly */ @@ -410,7 +406,7 @@ GString *make_trace_path_rel(const struct fs_sink_trace *trace) } /* Otherwise, use the trace name, if available. */ - const char *trace_name = bt_trace_get_name(trace->ir_trace); + trace_name = bt_trace_get_name(trace->ir_trace); if (trace_name) { path = g_string_new(trace_name); goto end; @@ -506,17 +502,17 @@ void fs_sink_trace_destroy(struct fs_sink_trace *trace) fh = fopen(trace->metadata_path->str, "wb"); if (!fh) { BT_COMP_LOGF_ERRNO("In trace destruction listener: " - "cannot open metadata file for writing: ", + "cannot open metadata file for writing", ": path=\"%s\"", trace->metadata_path->str); - abort(); + bt_common_abort(); } len = fwrite(tsdl->str, sizeof(*tsdl->str), tsdl->len, fh); if (len != tsdl->len) { BT_COMP_LOGF_ERRNO("In trace destruction listener: " - "cannot write metadata file: ", + "cannot write metadata file", ": path=\"%s\"", trace->metadata_path->str); - abort(); + bt_common_abort(); } if (!trace->fs_sink->quiet) { @@ -528,28 +524,26 @@ void fs_sink_trace_destroy(struct fs_sink_trace *trace) trace->path = NULL; } - g_string_free(trace->metadata_path, TRUE); - trace->metadata_path = NULL; - - fs_sink_ctf_trace_destroy(trace->trace); - trace->trace = NULL; - g_free(trace); - -end: if (fh) { int ret = fclose(fh); if (ret != 0) { BT_COMP_LOGW_ERRNO("In trace destruction listener: " - "cannot close metadata file: ", + "cannot close metadata file", ": path=\"%s\"", trace->metadata_path->str); } } - if (tsdl) { - g_string_free(tsdl, TRUE); - } + g_string_free(trace->metadata_path, TRUE); + trace->metadata_path = NULL; + fs_sink_ctf_trace_destroy(trace->trace); + trace->trace = NULL; + g_free(trace); + + g_string_free(tsdl, TRUE); + +end: return; }