X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fnotification.c;h=87f1a8a41345014bb404cd3dade439dde3b98936;hp=3826534cda89e3833e75cba2311020388744adb3;hb=refs%2Fheads%2Fsow-2019-0002-rev1;hpb=3647288fe42b25340f905046f3bd9aef21e12aaa diff --git a/src/common/notification.c b/src/common/notification.c index 3826534cd..87f1a8a41 100644 --- a/src/common/notification.c +++ b/src/common/notification.c @@ -1,18 +1,8 @@ /* - * Copyright (C) 2017 - Jérémie Galarneau + * Copyright (C) 2017 Jérémie Galarneau * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License, version 2.1 only, - * as published by the Free Software Foundation. + * SPDX-License-Identifier: LGPL-2.1-only * - * This library is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License - * for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include @@ -40,13 +30,12 @@ struct lttng_notification *lttng_notification_create( notification->condition = condition; notification->evaluation = evaluation; - notification->owns_elements = false; end: return notification; } LTTNG_HIDDEN -int lttng_notification_serialize(struct lttng_notification *notification, +int lttng_notification_serialize(const struct lttng_notification *notification, struct lttng_dynamic_buffer *buf) { int ret; @@ -57,10 +46,12 @@ int lttng_notification_serialize(struct lttng_notification *notification, header_offset = buf->size; ret = lttng_dynamic_buffer_append(buf, ¬ification_comm, sizeof(notification_comm)); + if (ret) { + goto end; + } size_before_payload = buf->size; - ret = lttng_condition_serialize(notification->condition, - buf); + ret = lttng_condition_serialize(notification->condition, buf, NULL); if (ret) { goto end; } @@ -134,7 +125,6 @@ ssize_t lttng_notification_create_from_buffer( goto error; } ret = notification_size; - (*notification)->owns_elements = true; end: return ret; error: @@ -149,10 +139,8 @@ void lttng_notification_destroy(struct lttng_notification *notification) return; } - if (notification->owns_elements) { - lttng_condition_destroy(notification->condition); - lttng_evaluation_destroy(notification->evaluation); - } + lttng_condition_destroy(notification->condition); + lttng_evaluation_destroy(notification->evaluation); free(notification); }