X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Flib%2Flttng-ctl%2Fsave.c;h=8302226644f89f708394e78f6a51ddf2eba061c2;hp=d136b2d98ab6b2f8ff06012160be05d14f78ac75;hb=28ab59d0baef178a8629ec9fb517ba75efb46ea8;hpb=b1a95f61f294264bd0f749e764d355f6ef843543 diff --git a/src/lib/lttng-ctl/save.c b/src/lib/lttng-ctl/save.c index d136b2d98..830222664 100644 --- a/src/lib/lttng-ctl/save.c +++ b/src/lib/lttng-ctl/save.c @@ -15,7 +15,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#define _GNU_SOURCE +#define _LGPL_SOURCE #include #include @@ -68,6 +68,18 @@ int lttng_save_session_attr_get_overwrite( return attr ? attr->overwrite : -LTTNG_ERR_INVALID; } +int lttng_save_session_attr_get_omit_name( + struct lttng_save_session_attr *attr) +{ + return attr ? attr->omit_name : -LTTNG_ERR_INVALID; +} + +int lttng_save_session_attr_get_omit_output( + struct lttng_save_session_attr *attr) +{ + return attr ? attr->omit_output : -LTTNG_ERR_INVALID; +} + int lttng_save_session_attr_set_session_name( struct lttng_save_session_attr *attr, const char *session_name) { @@ -82,12 +94,17 @@ int lttng_save_session_attr_set_session_name( size_t len; len = strlen(session_name); - if (len >= NAME_MAX) { + if (len >= LTTNG_NAME_MAX) { ret = -LTTNG_ERR_INVALID; goto error; } - strncpy(attr->session_name, session_name, len); + ret = lttng_strncpy(attr->session_name, session_name, + sizeof(attr->session_name)); + if (ret) { + ret = -LTTNG_ERR_INVALID; + goto error; + } } else { attr->session_name[0] = '\0'; } @@ -99,7 +116,8 @@ int lttng_save_session_attr_set_output_url( struct lttng_save_session_attr *attr, const char *url) { int ret = 0; - size_t len, size; + size_t len; + ssize_t size; struct lttng_uri *uris = NULL; if (!attr) { @@ -150,6 +168,36 @@ end: return ret; } +int lttng_save_session_attr_set_omit_name( + struct lttng_save_session_attr *attr, int omit_name) +{ + int ret = 0; + + if (!attr) { + ret = -LTTNG_ERR_INVALID; + goto end; + } + + attr->omit_name = !!omit_name; +end: + return ret; +} + +int lttng_save_session_attr_set_omit_output( + struct lttng_save_session_attr *attr, int omit_output) +{ + int ret = 0; + + if (!attr) { + ret = -LTTNG_ERR_INVALID; + goto end; + } + + attr->omit_output = !!omit_output; +end: + return ret; +} + /* * The lttng-ctl API does not expose all the information needed to save the * session configurations. Thus, we must send a save command to the session