[lxc-devel] [PATCH 1/2] Simplify function

Serge Hallyn serge.hallyn at ubuntu.com
Tue Oct 27 17:22:15 UTC 2015


Quoting Christian Brauner (christianvanbrauner at gmail.com):
> Instead of duplicating the cleanup-code, once for success and once for failure,
> simply keep a variable fret which is -1 in the beginning and gets set to 0 on
> success or stays -1 on failure.
> 
> Signed-off-by: Christian Brauner <christianvanbrauner at gmail.com>

Acked-by: Serge E. Hallyn <serge.hallyn at ubuntu.com>

> ---
>  src/lxc/conf.c | 14 ++++++--------
>  1 file changed, 6 insertions(+), 8 deletions(-)
> 
> diff --git a/src/lxc/conf.c b/src/lxc/conf.c
> index 932d1a3..142444e 100644
> --- a/src/lxc/conf.c
> +++ b/src/lxc/conf.c
> @@ -1860,6 +1860,7 @@ static int mount_entry_create_overlay_dirs(const struct mntent *mntent,
>  	char *upperdir = NULL;
>  	char *workdir = NULL;
>  	char **opts = NULL;
> +	int fret = -1;
>  	int ret = 0;
>  	size_t arrlen = 0;
>  	size_t dirlen = 0;
> @@ -1907,14 +1908,12 @@ static int mount_entry_create_overlay_dirs(const struct mntent *mntent,
>  				WARN("Failed to create workdir");
>  			}
>  
> -	free(rootfsdir);
> -	lxc_free_array((void **)opts, free);
> -	return 0;
> +	fret = 0;
>  
>  err:
>  	free(rootfsdir);
>  	lxc_free_array((void **)opts, free);
> -	return -1;
> +	return fret;
>  }
>  
>  static int mount_entry_create_aufs_dirs(const struct mntent *mntent,
> @@ -1928,6 +1927,7 @@ static int mount_entry_create_aufs_dirs(const struct mntent *mntent,
>  	char *tmp = NULL;
>  	char *upperdir = NULL;
>  	char **opts = NULL;
> +	int fret = -1;
>  	int ret = 0;
>  	size_t arrlen = 0;
>  	size_t i;
> @@ -1969,14 +1969,12 @@ static int mount_entry_create_aufs_dirs(const struct mntent *mntent,
>  			WARN("Failed to create upperdir");
>  		}
>  
> -	free(rootfsdir);
> -	lxc_free_array((void **)opts, free);
> -	return 0;
> +	fret = 0;
>  
>  err:
>  	free(rootfsdir);
>  	lxc_free_array((void **)opts, free);
> -	return -1;
> +	return fret;
>  }
>  
>  
> -- 
> 2.6.2
> 
> _______________________________________________
> lxc-devel mailing list
> lxc-devel at lists.linuxcontainers.org
> http://lists.linuxcontainers.org/listinfo/lxc-devel


More information about the lxc-devel mailing list