diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2016-10-16 19:23:35 -0400 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2016-10-16 23:35:39 -0400 |
commit | 3b319885c4febb5f7ea9b5ab31c3395548ed6886 (patch) | |
tree | a342cd060e144ed447ecd43b22a7b87068070170 /src/core/mount.c | |
parent | 6b430fdb7c0c2c52ea69a7d56f23d739218b13d0 (diff) |
tree-wide: introduce free_and_replace helper
It's a common pattern, so add a helper for it. A macro is necessary
because a function that takes a pointer to a pointer would be type specific,
similarly to cleanup functions. Seems better to use a macro.
Diffstat (limited to 'src/core/mount.c')
-rw-r--r-- | src/core/mount.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/src/core/mount.c b/src/core/mount.c index 15619dffe3..da480001e1 100644 --- a/src/core/mount.c +++ b/src/core/mount.c @@ -1484,17 +1484,9 @@ static int mount_setup_unit( MOUNT(u)->from_proc_self_mountinfo = true; - free(p->what); - p->what = w; - w = NULL; - - free(p->options); - p->options = o; - o = NULL; - - free(p->fstype); - p->fstype = f; - f = NULL; + free_and_replace(p->what, w); + free_and_replace(p->options, o); + free_and_replace(p->fstype, f); if (load_extras) { r = mount_add_extras(MOUNT(u)); |