Move to kernel style SPDX license identifiers
[babeltrace.git] / src / plugins / ctf / fs-sink / fs-sink-trace.c
index 3d647d2d769e858cdff2b47b839a6582b5985071..e9097848c8ab0b624b87a49e8acdd2d77a912c3e 100644 (file)
@@ -1,23 +1,7 @@
 /*
- * Copyright 2019 Philippe Proulx <pproulx@efficios.com>
- *
- * 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 <pproulx@efficios.com>
  */
 
 #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;
 }
 
This page took 0.02512 seconds and 4 git commands to generate.