}
+virQEMUCapsPtr
+virQEMUCapsNewBinary(const char *binary)
+{
+ virQEMUCapsPtr qemuCaps = virQEMUCapsNew();
+
+ qemuCaps->binary = g_strdup(binary);
+
+ return qemuCaps;
+}
+
+
void
virQEMUCapsSetInvalidation(virQEMUCapsPtr qemuCaps,
bool enabled)
virQEMUCapsPtr virQEMUCapsNewCopy(virQEMUCapsPtr qemuCaps)
{
- virQEMUCapsPtr ret = virQEMUCapsNew();
+ virQEMUCapsPtr ret = virQEMUCapsNewBinary(qemuCaps->binary);
size_t i;
if (!ret)
ret->usedQMP = qemuCaps->usedQMP;
ret->kvmSupportsNesting = qemuCaps->kvmSupportsNesting;
- ret->binary = g_strdup(qemuCaps->binary);
-
ret->ctime = qemuCaps->ctime;
virBitmapCopy(ret->flags, qemuCaps->flags);
virQEMUCapsPtr qemuCaps;
struct stat sb;
- if (!(qemuCaps = virQEMUCapsNew()))
+ if (!(qemuCaps = virQEMUCapsNewBinary(binary)))
goto error;
- qemuCaps->binary = g_strdup(binary);
-
/* We would also want to check faccessat if we cared about ACLs,
* but we don't. */
if (stat(binary, &sb) < 0) {
const char *binary,
void *privData)
{
- virQEMUCapsPtr qemuCaps = virQEMUCapsNew();
+ virQEMUCapsPtr qemuCaps = virQEMUCapsNewBinary(binary);
virQEMUCapsCachePrivPtr priv = privData;
if (!qemuCaps)
return NULL;
- qemuCaps->binary = g_strdup(binary);
-
if (virQEMUCapsLoadCache(priv->hostArch, qemuCaps, filename) < 0)
goto error;
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virQEMUCaps, virObjectUnref);
virQEMUCapsPtr virQEMUCapsNew(void);
+virQEMUCapsPtr virQEMUCapsNewBinary(const char *binary);
void virQEMUCapsSet(virQEMUCapsPtr qemuCaps,
virQEMUCapsFlags flag) ATTRIBUTE_NONNULL(1);