int type,
const char *val)
{
- int ret = -1;
-
if (!val) {
virReportError(VIR_ERR_INVALID_ARG, _("NULL value for field '%s'"),
name);
- goto cleanup;
+ return -1;
}
if (virStrcpyStatic(param->field, name) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, _("Field name '%s' too long"),
name);
- goto cleanup;
+ return -1;
}
param->type = type;
virReportError(VIR_ERR_INVALID_ARG,
_("Invalid value for field '%s': expected int"),
name);
- goto cleanup;
+ return -1;
}
break;
case VIR_TYPED_PARAM_UINT:
_("Invalid value for field '%s': "
"expected unsigned int"),
name);
- goto cleanup;
+ return -1;
}
break;
case VIR_TYPED_PARAM_LLONG:
_("Invalid value for field '%s': "
"expected long long"),
name);
- goto cleanup;
+ return -1;
}
break;
case VIR_TYPED_PARAM_ULLONG:
_("Invalid value for field '%s': "
"expected unsigned long long"),
name);
- goto cleanup;
+ return -1;
}
break;
case VIR_TYPED_PARAM_DOUBLE:
_("Invalid value for field '%s': "
"expected double"),
name);
- goto cleanup;
+ return -1;
}
break;
case VIR_TYPED_PARAM_BOOLEAN:
} else {
virReportError(VIR_ERR_INVALID_ARG,
_("Invalid boolean value for field '%s'"), name);
- goto cleanup;
+ return -1;
}
break;
case VIR_TYPED_PARAM_STRING:
if (VIR_STRDUP(param->value.s, val) < 0)
- goto cleanup;
+ return -1;
break;
default:
virReportError(VIR_ERR_INTERNAL_ERROR,
_("unexpected type %d for field %s"), type, name);
- goto cleanup;
+ return -1;
}
- ret = 0;
- cleanup:
- return ret;
+ return 0;
}
/* The following APIs are public and their signature may never change. */