mirror of https://gitee.com/openkylin/libvirt.git
util: auth: use VIR_AUTOPTR for aggregate types
By making use of GNU C's cleanup attribute handled by the VIR_AUTOPTR macro for declaring aggregate pointer variables, majority of the calls to *Free functions can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar <skrtbhtngr@gmail.com> Reviewed-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
parent
12614e7e25
commit
add80dbe7e
|
@ -111,8 +111,7 @@ virAuthGetCredential(const char *servicename,
|
||||||
const char *path,
|
const char *path,
|
||||||
char **value)
|
char **value)
|
||||||
{
|
{
|
||||||
int ret = -1;
|
VIR_AUTOPTR(virAuthConfig) config = NULL;
|
||||||
virAuthConfigPtr config = NULL;
|
|
||||||
const char *tmp;
|
const char *tmp;
|
||||||
|
|
||||||
*value = NULL;
|
*value = NULL;
|
||||||
|
@ -121,23 +120,19 @@ virAuthGetCredential(const char *servicename,
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!(config = virAuthConfigNew(path)))
|
if (!(config = virAuthConfigNew(path)))
|
||||||
goto cleanup;
|
return -1;
|
||||||
|
|
||||||
if (virAuthConfigLookup(config,
|
if (virAuthConfigLookup(config,
|
||||||
servicename,
|
servicename,
|
||||||
hostname,
|
hostname,
|
||||||
credname,
|
credname,
|
||||||
&tmp) < 0)
|
&tmp) < 0)
|
||||||
goto cleanup;
|
return -1;
|
||||||
|
|
||||||
if (VIR_STRDUP(*value, tmp) < 0)
|
if (VIR_STRDUP(*value, tmp) < 0)
|
||||||
goto cleanup;
|
return -1;
|
||||||
|
|
||||||
ret = 0;
|
return 0;
|
||||||
|
|
||||||
cleanup:
|
|
||||||
virAuthConfigFree(config);
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue