X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcommon%2Fconfig%2Fsession-config.c;h=dec891349a5384a928abf153447452b51131498c;hb=e10b6a1c2fad4f300523cf8cfb57aba2bfa101c0;hp=8fcb75230ad4309e4efddb428ab748c9b6721ab9;hpb=7b4aa11d71edf81f1e5a81a447b4e6b788551594;p=lttng-tools.git diff --git a/src/common/config/session-config.c b/src/common/config/session-config.c index 8fcb75230..dec891349 100644 --- a/src/common/config/session-config.c +++ b/src/common/config/session-config.c @@ -455,7 +455,40 @@ int config_writer_open_element(struct config_writer *writer, ret = xmlTextWriterStartElement(writer->writer, encoded_element_name); xmlFree(encoded_element_name); end: - return ret > 0 ? 0 : ret; + return ret >= 0 ? 0 : ret; +} + +LTTNG_HIDDEN +int config_writer_write_attribute(struct config_writer *writer, + const char *name, const char *value) +{ + int ret; + xmlChar *encoded_name = NULL; + xmlChar *encoded_value = NULL; + + if (!writer || !writer->writer || !name || !name[0]) { + ret = -1; + goto end; + } + + encoded_name = encode_string(name); + if (!encoded_name) { + ret = -1; + goto end; + } + + encoded_value = encode_string(value); + if (!encoded_value) { + ret = -1; + goto end; + } + + ret = xmlTextWriterWriteAttribute(writer->writer, encoded_name, + encoded_value); +end: + xmlFree(encoded_name); + xmlFree(encoded_value); + return ret >= 0 ? 0 : ret; } LTTNG_HIDDEN @@ -470,7 +503,7 @@ int config_writer_close_element(struct config_writer *writer) ret = xmlTextWriterEndElement(writer->writer); end: - return ret > 0 ? 0 : ret; + return ret >= 0 ? 0 : ret; } LTTNG_HIDDEN @@ -495,7 +528,7 @@ int config_writer_write_element_unsigned_int(struct config_writer *writer, encoded_element_name, "%" PRIu64, value); xmlFree(encoded_element_name); end: - return ret > 0 ? 0 : ret; + return ret >= 0 ? 0 : ret; } LTTNG_HIDDEN @@ -520,7 +553,7 @@ int config_writer_write_element_signed_int(struct config_writer *writer, encoded_element_name, "%" PRIi64, value); xmlFree(encoded_element_name); end: - return ret > 0 ? 0 : ret; + return ret >= 0 ? 0 : ret; } LTTNG_HIDDEN @@ -562,7 +595,7 @@ int config_writer_write_element_string(struct config_writer *writer, end: xmlFree(encoded_element_name); xmlFree(encoded_value); - return ret > 0 ? 0 : ret; + return ret >= 0 ? 0 : ret; } static