udev: link-config - use _cleanup_ macro locally

This commit is contained in:
Tom Gundersen 2013-10-29 15:36:26 +01:00
parent 97f2d76d4f
commit 5b9d4dc055

View file

@ -49,8 +49,11 @@ struct link_config_ctx {
usec_t link_dirs_ts_usec;
};
DEFINE_TRIVIAL_CLEANUP_FUNC(link_config_ctx*, link_config_ctx_free);
#define _cleanup_link_config_ctx_free_ _cleanup_(link_config_ctx_freep)
int link_config_ctx_new(link_config_ctx **ret) {
link_config_ctx *ctx;
_cleanup_link_config_ctx_free_ link_config_ctx *ctx = NULL;
int r;
if (!ret)
@ -61,16 +64,12 @@ int link_config_ctx_new(link_config_ctx **ret) {
return -ENOMEM;
r = ethtool_connect(&ctx->ethtool_fd);
if (r < 0) {
link_config_ctx_free(ctx);
if (r < 0)
return r;
}
r = sd_rtnl_open(0, &ctx->rtnl);
if (r < 0) {
link_config_ctx_free(ctx);
if (r < 0)
return r;
}
LIST_HEAD_INIT(ctx->links);
@ -80,16 +79,17 @@ int link_config_ctx_new(link_config_ctx **ret) {
NULL);
if (!ctx->link_dirs) {
log_error("failed to build link config directory array");
link_config_ctx_free(ctx);
return -ENOMEM;
}
if (!path_strv_canonicalize_uniq(ctx->link_dirs)) {
log_error("failed to canonicalize link config directories\n");
link_config_ctx_free(ctx);
return -ENOMEM;
}
*ret = ctx;
ctx = NULL;
return 0;
}