Fix: mi: snapshot: missing error handling for session name
[lttng-tools.git] / src / common / mi-lttng.c
index c21ed5a6311491cd875d246c6d4244fb8dda26f9..fed09854a206012482d320b770f666ed9b3cdb53 100644 (file)
@@ -16,7 +16,8 @@
  * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-
+#define _GNU_SOURCE
+#define _LGPL_SOURCE
 #include <include/config.h>
 #include <common/config/config.h>
 #include <lttng/snapshot-internal.h>
@@ -135,6 +136,14 @@ const char * const mi_lttng_loglevel_str_log4j_debug = "LOG4J_DEBUG";
 const char * const mi_lttng_loglevel_str_log4j_trace = "LOG4J_TRACE";
 const char * const mi_lttng_loglevel_str_log4j_all = "LOG4J_ALL";
 
+/* String related to loglevel Python */
+const char * const mi_lttng_loglevel_str_python_critical = "PYTHON_CRITICAL";
+const char * const mi_lttng_loglevel_str_python_error = "PYTHON_ERROR";
+const char * const mi_lttng_loglevel_str_python_warning = "PYTHON_WARNING";
+const char * const mi_lttng_loglevel_str_python_info = "PYTHON_INFO";
+const char * const mi_lttng_loglevel_str_python_debug = "PYTHON_DEBUG";
+const char * const mi_lttng_loglevel_str_python_notset = "PYTHON_NOTSET";
+
 /* String related to loglevel type */
 const char * const mi_lttng_loglevel_type_all = "ALL";
 const char * const mi_lttng_loglevel_type_range = "RANGE";
@@ -250,6 +259,24 @@ const char *mi_lttng_loglevel_string(int value, enum lttng_domain_type domain)
                        return mi_lttng_loglevel_str_unknown;
                }
                break;
+       case LTTNG_DOMAIN_PYTHON:
+               switch (value) {
+               case LTTNG_LOGLEVEL_PYTHON_CRITICAL:
+                       return mi_lttng_loglevel_str_python_critical;
+               case LTTNG_LOGLEVEL_PYTHON_ERROR:
+                       return mi_lttng_loglevel_str_python_error;
+               case LTTNG_LOGLEVEL_PYTHON_WARNING:
+                       return mi_lttng_loglevel_str_python_warning;
+               case LTTNG_LOGLEVEL_PYTHON_INFO:
+                       return mi_lttng_loglevel_str_python_info;
+               case LTTNG_LOGLEVEL_PYTHON_DEBUG:
+                       return mi_lttng_loglevel_str_python_debug;
+               case LTTNG_LOGLEVEL_PYTHON_NOTSET:
+                       return mi_lttng_loglevel_str_python_notset;
+               default:
+                       return mi_lttng_loglevel_str_unknown;
+               }
+               break;
        }
 
        /* Reaching this means the domain is unknown. */
@@ -1314,6 +1341,9 @@ int mi_lttng_snapshot_output_session_name(struct mi_writer *writer,
        /* Snapshot output list for current session name */
        ret = mi_lttng_writer_write_element_string(writer, config_element_name,
                        session_name);
+       if (ret) {
+               goto end;
+       }
 
        /* Open element snapshots (sequence one snapshot) */
        ret = mi_lttng_writer_open_element(writer, mi_lttng_element_snapshots);
This page took 0.024285 seconds and 4 git commands to generate.