From: Remi Collet <fedora(a)famillecollet.com>
---
src/libvirt-php.c | 299 ++++++++++++++++++------------------------------------
1 file changed, 99 insertions(+), 200 deletions(-)
diff --git a/src/libvirt-php.c b/src/libvirt-php.c
index d37fd6f..0459bb9 100644
--- a/src/libvirt-php.c
+++ b/src/libvirt-php.c
@@ -58,6 +58,7 @@ const char *features_binaries[] = { NULL };
#if PHP_MAJOR_VERSION >= 7
typedef size_t strsize_t;
+#define VIRT_COPY_OPT
#define VIRT_FETCH_RESOURCE(_state, _type, _zval, _name, _le) \
if ((_state = (_type)zend_fetch_resource(Z_RES_P(*_zval), _name, _le)) == NULL) { \
RETURN_FALSE; \
@@ -68,6 +69,8 @@ typedef int strsize_t;
typedef long zend_long;
typedef unsigned long zend_ulong;
+#define VIRT_COPY_OPT ,1
+
#define VIRT_FETCH_RESOURCE(_state, _type, _zval, _name, _le) \
ZEND_FETCH_RESOURCE(_state, _type, _zval, -1, _name, _le);
@@ -1995,7 +1998,7 @@ if ((snapshot==NULL) || (snapshot->snapshot==NULL))
RETURN_FALSE;\
#define LONGLONG_ASSOC(out,key,in) \
if (LIBVIRT_G(longlong_to_string_ini)) { \
snprintf(tmpnumber,63,"%llu",in); \
- add_assoc_string_ex(out,key,strlen(key)+1,tmpnumber,1); \
+ add_assoc_string_ex(out,key,strlen(key)+1,tmpnumber VIRT_COPY_OPT); \
} \
else \
{ \
@@ -2059,11 +2062,7 @@ static int libvirt_virConnectCredType[] = {
PHP_FUNCTION(libvirt_get_last_error)
{
if (LIBVIRT_G (last_error) == NULL) RETURN_NULL();
-#if PHP_MAJOR_VERSION >= 7
- RETURN_STRING(LIBVIRT_G (last_error));
-#else
- RETURN_STRING(LIBVIRT_G (last_error),1);
-#endif
+ RETURN_STRING(LIBVIRT_G (last_error) VIRT_COPY_OPT);
}
/*
@@ -2223,7 +2222,7 @@ PHP_FUNCTION(libvirt_node_get_info)
if (retval==-1) RETURN_FALSE;
array_init(return_value);
- add_assoc_string_ex(return_value, "model", 6, info.model, 1);
+ add_assoc_string_ex(return_value, "model", 6, info.model VIRT_COPY_OPT);
add_assoc_long(return_value, "memory", (long)info.memory);
add_assoc_long(return_value, "cpus", (long)info.cpus);
add_assoc_long(return_value, "nodes", (long)info.nodes);
@@ -2318,9 +2317,9 @@ PHP_FUNCTION(libvirt_node_get_cpu_stats)
add_assoc_long(return_value, "cpu", cpunr);
else
if (cpuNum == VIR_NODE_CPU_STATS_ALL_CPUS)
- add_assoc_string_ex(return_value, "cpu", 4, "all", 1);
+ add_assoc_string_ex(return_value, "cpu", 4, "all"
VIRT_COPY_OPT);
else
- add_assoc_string_ex(return_value, "cpu", 4, "unknown",
1);
+ add_assoc_string_ex(return_value, "cpu", 4, "unknown"
VIRT_COPY_OPT);
free(params);
params = NULL;
@@ -2532,21 +2531,21 @@ PHP_FUNCTION(libvirt_connect_get_machine_types)
char tmp3[2048] = { 0 };
snprintf(key, sizeof(key), "%d", k);
- //add_assoc_string_ex(arr2, key, strlen(key) + 1, ret3[k],
1);
+ //add_assoc_string_ex(arr2, key, strlen(key) + 1, ret3[k]
VIRT_COPY_OPT);
snprintf(tmp3, sizeof(tmp3),
"//capabilities/guest/arch[@name=\"%s\"]/machine[text()=\"%s\"]/@maxCpus",
ret[i], ret3[k]);
numTmp = get_string_from_xpath(caps, tmp3, NULL, NULL);
if (numTmp == NULL)
- add_assoc_string_ex(arr2, key, strlen(key) + 1, ret3[k],
1);
+ add_assoc_string_ex(arr2, key, strlen(key) + 1, ret3[k]
VIRT_COPY_OPT);
else {
zval *arr4;
ALLOC_INIT_ZVAL(arr4);
array_init(arr4);
- add_assoc_string_ex(arr4, "name", 5, ret3[k],
1);
- add_assoc_string_ex(arr4, "maxCpus", 9, numTmp,
1);
+ add_assoc_string_ex(arr4, "name", 5, ret3[k]
VIRT_COPY_OPT);
+ add_assoc_string_ex(arr4, "maxCpus", 9, numTmp
VIRT_COPY_OPT);
add_assoc_zval_ex(arr2, key, strlen(key) + 1, arr4);
free(numTmp);
@@ -2574,14 +2573,14 @@ PHP_FUNCTION(libvirt_connect_get_machine_types)
numTmp = get_string_from_xpath(caps, tmp3, NULL, NULL);
if (numTmp == NULL)
- add_assoc_string_ex(arr3, key, strlen(key) + 1, ret3[k],
1);
+ add_assoc_string_ex(arr3, key, strlen(key) + 1, ret3[k]
VIRT_COPY_OPT);
else {
zval *arr4;
ALLOC_INIT_ZVAL(arr4);
array_init(arr4);
- add_assoc_string_ex(arr4, "name", 5, ret3[k],
1);
- add_assoc_string_ex(arr4, "maxCpus", 9, numTmp,
1);
+ add_assoc_string_ex(arr4, "name", 5, ret3[k]
VIRT_COPY_OPT);
+ add_assoc_string_ex(arr4, "maxCpus", 9, numTmp
VIRT_COPY_OPT);
add_assoc_zval_ex(arr3, key, strlen(key) + 1, arr4);
free(numTmp);
@@ -2624,21 +2623,21 @@ PHP_FUNCTION(libvirt_connect_get_information)
tmp = virConnectGetURI(conn->conn);
DPRINTF("%s: Got connection URI of %s...\n", PHPFUNC, tmp);
array_init(return_value);
- add_assoc_string_ex(return_value, "uri", 4, tmp ? tmp :
"unknown", 1);
+ add_assoc_string_ex(return_value, "uri", 4, tmp ? tmp : "unknown"
VIRT_COPY_OPT);
free(tmp);
tmp = virConnectGetHostname(conn->conn);
- add_assoc_string_ex(return_value, "hostname", 9, tmp ? tmp :
"unknown", 1);
+ add_assoc_string_ex(return_value, "hostname", 9, tmp ? tmp :
"unknown" VIRT_COPY_OPT);
free(tmp);
if ((virConnectGetVersion(conn->conn, &hvVer) == 0) && (type =
virConnectGetType(conn->conn)))
{
- add_assoc_string_ex(return_value, "hypervisor", 11, (char *)type, 1);
+ add_assoc_string_ex(return_value, "hypervisor", 11, (char *)type
VIRT_COPY_OPT);
add_assoc_long(return_value, "hypervisor_major",(long)((hvVer/1000000)
% 1000));
add_assoc_long(return_value, "hypervisor_minor",(long)((hvVer/1000) %
1000));
add_assoc_long(return_value, "hypervisor_release",(long)(hvVer
%1000));
snprintf(hvStr, sizeof(hvStr), "%s %d.%d.%d", type,
(long)((hvVer/1000000) % 1000), (long)((hvVer/1000) % 1000),
(long)(hvVer %1000));
- add_assoc_string_ex(return_value, "hypervisor_string", 18, hvStr, 1);
+ add_assoc_string_ex(return_value, "hypervisor_string", 18, hvStr
VIRT_COPY_OPT);
}
if (strcmp(type, "QEMU") == 0) {
@@ -2651,21 +2650,21 @@ PHP_FUNCTION(libvirt_connect_get_information)
add_assoc_long(return_value, "hypervisor_maxvcpus", maxvcpus);
iTmp = virConnectIsEncrypted(conn->conn);
if (iTmp == 1)
- add_assoc_string_ex(return_value, "encrypted", 10, "Yes",
1);
+ add_assoc_string_ex(return_value, "encrypted", 10, "Yes"
VIRT_COPY_OPT);
else
if (iTmp == 0)
- add_assoc_string_ex(return_value, "encrypted", 10, "No",
1);
+ add_assoc_string_ex(return_value, "encrypted", 10, "No"
VIRT_COPY_OPT);
else
- add_assoc_string_ex(return_value, "encrypted", 10,
"unknown", 1);
+ add_assoc_string_ex(return_value, "encrypted", 10,
"unknown" VIRT_COPY_OPT);
iTmp = virConnectIsSecure(conn->conn);
if (iTmp == 1)
- add_assoc_string_ex(return_value, "secure", 7, "Yes", 1);
+ add_assoc_string_ex(return_value, "secure", 7, "Yes"
VIRT_COPY_OPT);
else
if (iTmp == 0)
- add_assoc_string_ex(return_value, "secure", 7, "No", 1);
+ add_assoc_string_ex(return_value, "secure", 7, "No"
VIRT_COPY_OPT);
else
- add_assoc_string_ex(return_value, "secure", 7, "unknown",
1);
+ add_assoc_string_ex(return_value, "secure", 7, "unknown"
VIRT_COPY_OPT);
add_assoc_long(return_value, "num_inactive_domains",
virConnectNumOfDefinedDomains(conn->conn));
add_assoc_long(return_value, "num_inactive_interfaces",
virConnectNumOfDefinedInterfaces(conn->conn));
@@ -2704,11 +2703,7 @@ PHP_FUNCTION(libvirt_connect_get_uri)
DPRINTF("%s: virConnectGetURI returned %s\n", PHPFUNC, uri);
if (uri == NULL) RETURN_FALSE;
-#if PHP_MAJOR_VERSION >= 7
- RETVAL_STRING(uri);
-#else
- RETVAL_STRING(uri, 1);
-#endif
+ RETVAL_STRING(uri VIRT_COPY_OPT);
free(uri);
}
@@ -2731,11 +2726,7 @@ PHP_FUNCTION(libvirt_connect_get_hostname)
DPRINTF("%s: virConnectGetHostname returned %s\n", PHPFUNC, hostname);
if (hostname==NULL) RETURN_FALSE;
-#if PHP_MAJOR_VERSION >= 7
- RETVAL_STRING(hostname);
-#else
- RETVAL_STRING(hostname, 1);
-#endif
+ RETVAL_STRING(hostname VIRT_COPY_OPT);
free(hostname);
}
@@ -2888,14 +2879,14 @@ PHP_FUNCTION(libvirt_connect_get_hypervisor)
DPRINTF("%s: virConnectGetType returned %s\n", PHPFUNC, type);
array_init(return_value);
- add_assoc_string_ex(return_value, "hypervisor", 11, (char *)type, 1);
+ add_assoc_string_ex(return_value, "hypervisor", 11, (char *)type
VIRT_COPY_OPT);
add_assoc_long(return_value, "major",(long)((hvVer/1000000) % 1000));
add_assoc_long(return_value, "minor",(long)((hvVer/1000) % 1000));
add_assoc_long(return_value, "release",(long)(hvVer %1000));
snprintf(hvStr, sizeof(hvStr), "%s %d.%d.%d", type,
(long)((hvVer/1000000) % 1000), (long)((hvVer/1000) % 1000), (long)(hvVer
%1000));
- add_assoc_string_ex(return_value, "hypervisor_string", 18, hvStr, 1);
+ add_assoc_string_ex(return_value, "hypervisor_string", 18, hvStr
VIRT_COPY_OPT);
}
/*
@@ -2990,7 +2981,7 @@ PHP_FUNCTION(libvirt_connect_get_all_domain_stats)
add_assoc_bool(arr2, params.field, params.value.b);
break;
case VIR_TYPED_PARAM_STRING:
- add_assoc_string_ex(arr2, params.field, strlen(params.field)+1,
params.value.s, strlen(params.value.s)+1);
+ add_assoc_string_ex(arr2, params.field, strlen(params.field)+1,
params.value.s VIRT_COPY_OPT);
break;
}
}
@@ -3043,11 +3034,7 @@ PHP_FUNCTION(libvirt_connect_get_sysinfo)
sysinfo=virConnectGetSysinfo(conn->conn, 0);
if (sysinfo==NULL) RETURN_FALSE;
-#if PHP_MAJOR_VERSION >= 7
- RETVAL_STRING(sysinfo);
-#else
- RETVAL_STRING(sysinfo, 1);
-#endif
+ RETVAL_STRING(sysinfo VIRT_COPY_OPT);
free(sysinfo);
}
@@ -3115,7 +3102,7 @@ char *get_string_from_xpath(char *xml, char *xpath, zval **val, int
*retVal)
value = (char *)xmlNodeListGetString(doc,
nodeset->nodeTab[i]->xmlChildrenNode, 1);
snprintf(key, sizeof(key), "%d", i);
- add_assoc_string_ex(*val, key, strlen(key)+1, value, 1);
+ add_assoc_string_ex(*val, key, strlen(key)+1, value VIRT_COPY_OPT);
ret++;
}
}
@@ -4019,11 +4006,7 @@ PHP_FUNCTION(libvirt_domain_get_metadata)
}
}
else {
-#if PHP_MAJOR_VERSION >= 7
- RETVAL_STRING(ret);
-#else
- RETVAL_STRING(ret, 1);
-#endif
+ RETVAL_STRING(ret VIRT_COPY_OPT);
free(ret);
}
}
@@ -4176,11 +4159,7 @@ PHP_FUNCTION(libvirt_domain_qemu_agent_command)
ret = virDomainQemuAgentCommand(domain->domain, cmd, timeout, flags);
if (ret == NULL) RETURN_FALSE;
-#if PHP_MAJOR_VERSION >= 7
- RETURN_STRING(ret);
-#else
- RETURN_STRING(ret, 1);
-#endif
+ RETURN_STRING(ret VIRT_COPY_OPT);
}
/*
@@ -4480,11 +4459,7 @@ PHP_FUNCTION(libvirt_domain_get_name)
DPRINTF("%s: virDomainGetName(%p) returned %s\n", PHPFUNC,
domain->domain, name);
if (name==NULL) RETURN_FALSE;
-#if PHP_MAJOR_VERSION >= 7
- RETURN_STRING(name);
-#else
- RETURN_STRING(name, 1); //we can use the copy mechanism as we need not to free name
(we even can not!)
-#endif
+ RETURN_STRING(name VIRT_COPY_OPT); //we can use the copy mechanism as we need not to
free name (we even can not!)
}
/*
@@ -4509,7 +4484,7 @@ PHP_FUNCTION(libvirt_domain_get_uuid_string)
if (retval!=0) RETURN_FALSE;
#if PHP_MAJOR_VERSION >= 7
- RETVAL_STRING(uuid);
+ RETVAL_STRING(uuid VIRT_COPY_OPT);
efree(uuid);
#else
RETURN_STRING(uuid,0);
@@ -4610,12 +4585,12 @@ PHP_FUNCTION(libvirt_domain_get_screenshot_api)
if (WEXITSTATUS(exitStatus) != 0)
RETURN_FALSE;
- add_assoc_string_ex(return_value, "file", 5, fileNew, 1);
- add_assoc_string_ex(return_value, "mime", 5, "image/png",
1);
+ add_assoc_string_ex(return_value, "file", 5, fileNew VIRT_COPY_OPT);
+ add_assoc_string_ex(return_value, "mime", 5, "image/png"
VIRT_COPY_OPT);
}
else {
- add_assoc_string_ex(return_value, "file", 5, file, 1);
- add_assoc_string_ex(return_value, "mime", 5, mime, 1);
+ add_assoc_string_ex(return_value, "file", 5, file VIRT_COPY_OPT);
+ add_assoc_string_ex(return_value, "mime", 5, mime VIRT_COPY_OPT);
}
}
@@ -5073,17 +5048,9 @@ PHP_FUNCTION(libvirt_connect_get_capabilities)
tmp = get_string_from_xpath(caps, xpath, NULL, &retval);
if ((tmp == NULL) || (retval < 0)) {
-#if PHP_MAJOR_VERSION >= 7
- RETVAL_STRING(caps);
-#else
- RETVAL_STRING(caps, 1);
-#endif
+ RETVAL_STRING(caps VIRT_COPY_OPT);
} else {
-#if PHP_MAJOR_VERSION >= 7
- RETVAL_STRING(tmp);
-#else
- RETVAL_STRING(tmp, 1);
-#endif
+ RETVAL_STRING(tmp VIRT_COPY_OPT);
}
free(caps);
@@ -5118,11 +5085,7 @@ PHP_FUNCTION(libvirt_connect_get_emulator)
RETURN_FALSE;
}
-#if PHP_MAJOR_VERSION >= 7
- RETVAL_STRING(tmp);
-#else
- RETVAL_STRING(tmp, 1);
-#endif
+ RETVAL_STRING(tmp VIRT_COPY_OPT);
free(tmp);
}
@@ -5187,7 +5150,7 @@ PHP_FUNCTION(libvirt_connect_get_nic_models)
tTokenizer t = tokenize(tmp, ",");
for (i = 0; i < t.numTokens; i++) {
snprintf(tmp2, sizeof(tmp2), "%d", i);
- add_assoc_string_ex(return_value, tmp2, strlen(tmp2) + 1, t.tokens[i],
1);
+ add_assoc_string_ex(return_value, tmp2, strlen(tmp2) + 1, t.tokens[i]
VIRT_COPY_OPT);
}
free_tokens(t);
}
@@ -5280,14 +5243,14 @@ PHP_FUNCTION(libvirt_connect_get_soundhw_models)
zval *arr;
ALLOC_INIT_ZVAL(arr);
array_init(arr);
- add_assoc_string_ex(arr, "name", 5, t.tokens[0], 1);
- add_assoc_string_ex(arr, "description", 12, desc, 1);
+ add_assoc_string_ex(arr, "name", 5, t.tokens[0]
VIRT_COPY_OPT);
+ add_assoc_string_ex(arr, "description", 12, desc
VIRT_COPY_OPT);
add_next_index_zval(return_value, arr);
}
else {
char tmp2[16] = { 0 };
snprintf(tmp2, sizeof(tmp2), "%d", n++);
- add_assoc_string_ex(return_value, tmp2, strlen(tmp2) + 1, t.tokens[0],
1);
+ add_assoc_string_ex(return_value, tmp2, strlen(tmp2) + 1, t.tokens[0]
VIRT_COPY_OPT);
}
free_tokens(t);
@@ -5554,11 +5517,7 @@ PHP_FUNCTION(libvirt_domain_new)
PHP_FUNCTION(libvirt_domain_new_get_vnc)
{
if (LIBVIRT_G(vnc_location))
-#if PHP_MAJOR_VERSION >= 7
- RETURN_STRING(LIBVIRT_G(vnc_location));
-#else
- RETURN_STRING(LIBVIRT_G(vnc_location),1);
-#endif
+ RETURN_STRING(LIBVIRT_G(vnc_location) VIRT_COPY_OPT);
RETURN_NULL();
}
@@ -5596,17 +5555,9 @@ PHP_FUNCTION(libvirt_domain_get_xml_desc)
tmp = get_string_from_xpath(xml, xpath, NULL, &retval);
if ((tmp == NULL) || (retval < 0)) {
-#if PHP_MAJOR_VERSION >= 7
- RETVAL_STRING(xml);
-#else
- RETVAL_STRING(xml, 1);
-#endif
+ RETVAL_STRING(xml VIRT_COPY_OPT);
} else {
-#if PHP_MAJOR_VERSION >= 7
- RETVAL_STRING(tmp);
-#else
- RETVAL_STRING(tmp, 1);
-#endif
+ RETVAL_STRING(tmp VIRT_COPY_OPT);
}
free(tmp);
@@ -6760,8 +6711,8 @@ PHP_FUNCTION(libvirt_domain_get_network_info)
}
array_init(return_value);
- add_assoc_string_ex(return_value, "mac", 4, mac, 1);
- add_assoc_string_ex(return_value, "network", 8, tmp, 1);
+ add_assoc_string_ex(return_value, "mac", 4, mac VIRT_COPY_OPT);
+ add_assoc_string_ex(return_value, "network", 8, tmp VIRT_COPY_OPT);
free(tmp);
free(xpath);
@@ -6772,9 +6723,9 @@ PHP_FUNCTION(libvirt_domain_get_network_info)
}
tmp = get_string_from_xpath(xml, xpath, NULL, &retval);
if ((tmp != NULL) && (retval > 0))
- add_assoc_string_ex(return_value, "nic_type", 9, tmp, 1);
+ add_assoc_string_ex(return_value, "nic_type", 9, tmp VIRT_COPY_OPT);
else
- add_assoc_string_ex(return_value, "nic_type", 9, "default",
1);
+ add_assoc_string_ex(return_value, "nic_type", 9, "default"
VIRT_COPY_OPT);
free(xml);
free(xpath);
@@ -6858,12 +6809,12 @@ PHP_FUNCTION(libvirt_domain_get_block_info)
array_init(return_value);
LONGLONG_INIT;
- add_assoc_string_ex(return_value, "device", 7, dev, 1);
+ add_assoc_string_ex(return_value, "device", 7, dev VIRT_COPY_OPT);
if (isFile)
- add_assoc_string_ex(return_value, "file", 5, tmp, 1);
+ add_assoc_string_ex(return_value, "file", 5, tmp VIRT_COPY_OPT);
else
- add_assoc_string_ex(return_value, "partition", 10, tmp, 1);
+ add_assoc_string_ex(return_value, "partition", 10, tmp VIRT_COPY_OPT);
free(xpath);
if (asprintf(&xpath,
"//domain/devices/disk/target[@dev='%s']/../driver/(a)type", dev) < 0)
{
@@ -6873,7 +6824,7 @@ PHP_FUNCTION(libvirt_domain_get_block_info)
free(tmp);
tmp = get_string_from_xpath(xml, xpath, NULL, &retval);
if (tmp != NULL)
- add_assoc_string_ex(return_value, "type", 5, tmp, 1);
+ add_assoc_string_ex(return_value, "type", 5, tmp VIRT_COPY_OPT);
LONGLONG_ASSOC(return_value, "capacity", info.capacity);
LONGLONG_ASSOC(return_value, "allocation", info.allocation);
@@ -6929,7 +6880,7 @@ PHP_FUNCTION(libvirt_domain_xml_xpath)
if (rc == 0)
RETURN_FALSE;
- add_assoc_string_ex(return_value, "xpath", 6, (char *)zpath, 1);
+ add_assoc_string_ex(return_value, "xpath", 6, (char *)zpath
VIRT_COPY_OPT);
if (rc < 0)
add_assoc_long(return_value, "error_code", (long)rc);
}
@@ -7289,11 +7240,7 @@ PHP_FUNCTION(libvirt_domain_snapshot_get_xml)
xml = virDomainSnapshotGetXMLDesc(snapshot->snapshot, flags);
if (xml==NULL) RETURN_FALSE;
-#if PHP_MAJOR_VERSION >= 7
- RETVAL_STRING(xml);
-#else
- RETVAL_STRING(xml, 1);
-#endif
+ RETVAL_STRING(xml VIRT_COPY_OPT);
free(xml);
}
@@ -7622,11 +7569,7 @@ PHP_FUNCTION(libvirt_storagevolume_get_name)
DPRINTF("%s: virStorageVolGetName(%p) returned %s\n", PHPFUNC,
volume->volume, retval);
if (retval == NULL) RETURN_FALSE;
-#if PHP_MAJOR_VERSION >= 7
- RETURN_STRING(retval);
-#else
- RETURN_STRING (retval, 1);
-#endif
+ RETURN_STRING(retval VIRT_COPY_OPT);
}
/*
@@ -7648,11 +7591,7 @@ PHP_FUNCTION(libvirt_storagevolume_get_path)
DPRINTF("%s: virStorageVolGetPath(%p) returned %s\n", PHPFUNC,
volume->volume, retval);
if (retval == NULL) RETURN_FALSE;
-#if PHP_MAJOR_VERSION >= 7
- RETURN_STRING(retval);
-#else
- RETURN_STRING (retval, 1);
-#endif
+ RETURN_STRING(retval VIRT_COPY_OPT);
}
/*
@@ -7716,17 +7655,9 @@ PHP_FUNCTION(libvirt_storagevolume_get_xml_desc)
tmp = get_string_from_xpath(xml, xpath, NULL, &retval);
if ((tmp == NULL) || (retval < 0)) {
-#if PHP_MAJOR_VERSION >= 7
- RETVAL_STRING(xml);
-#else
- RETVAL_STRING(xml, 1);
-#endif
+ RETVAL_STRING(xml VIRT_COPY_OPT);
} else {
-#if PHP_MAJOR_VERSION >= 7
- RETVAL_STRING(tmp);
-#else
- RETVAL_STRING(tmp, 1);
-#endif
+ RETVAL_STRING(tmp VIRT_COPY_OPT);
}
free(xml);
@@ -8010,11 +7941,7 @@ PHP_FUNCTION(libvirt_storagepool_get_name)
if (name == NULL)
RETURN_FALSE;
-#if PHP_MAJOR_VERSION >= 7
- RETURN_STRING(name);
-#else
- RETURN_STRING(name, 1);
-#endif
+ RETURN_STRING(name VIRT_COPY_OPT);
}
/*
@@ -8091,17 +8018,9 @@ PHP_FUNCTION(libvirt_storagepool_get_xml_desc)
tmp = get_string_from_xpath(xml, xpath, NULL, &retval);
if ((tmp == NULL) || (retval < 0)) {
-#if PHP_MAJOR_VERSION >= 7
- RETVAL_STRING(xml);
-#else
- RETVAL_STRING(xml, 1);
-#endif
+ RETVAL_STRING(xml VIRT_COPY_OPT);
} else {
-#if PHP_MAJOR_VERSION >= 7
- RETVAL_STRING(tmp);
-#else
- RETVAL_STRING(tmp, 1);
-#endif
+ RETVAL_STRING(tmp VIRT_COPY_OPT);
}
free(xml);
@@ -9002,17 +8921,9 @@ PHP_FUNCTION(libvirt_nodedev_get_xml_desc)
tmp = get_string_from_xpath(xml, xpath, NULL, &retval);
if ((tmp == NULL) || (retval < 0)) {
-#if PHP_MAJOR_VERSION >= 7
- RETVAL_STRING(xml);
-#else
- RETVAL_STRING(xml, 1);
-#endif
+ RETVAL_STRING(xml VIRT_COPY_OPT);
} else {
-#if PHP_MAJOR_VERSION >= 7
- RETVAL_STRING(tmp);
-#else
- RETVAL_STRING(tmp, 1);
-#endif
+ RETVAL_STRING(tmp VIRT_COPY_OPT);
}
free(xml);
@@ -9057,18 +8968,18 @@ PHP_FUNCTION(libvirt_nodedev_get_information)
goto error;
}
- add_assoc_string_ex(return_value, "name", 5, tmp, 1);
+ add_assoc_string_ex(return_value, "name", 5, tmp VIRT_COPY_OPT);
/* Get parent name */
free(tmp);
tmp = get_string_from_xpath(xml, "//device/parent", NULL, &retval);
if ((tmp != NULL) && (retval > 0))
- add_assoc_string_ex(return_value, "parent", 7, tmp, 1);
+ add_assoc_string_ex(return_value, "parent", 7, tmp VIRT_COPY_OPT);
/* Get capability */
cap = get_string_from_xpath(xml, "//device/capability/@type", NULL,
&retval);
if ((cap != NULL) && (retval > 0))
- add_assoc_string_ex(return_value, "capability", 11, cap, 1);
+ add_assoc_string_ex(return_value, "capability", 11, cap
VIRT_COPY_OPT);
/* System capability is having hardware and firmware sub-blocks */
if (strcmp(cap, "system") == 0) {
@@ -9076,92 +8987,92 @@ PHP_FUNCTION(libvirt_nodedev_get_information)
free(tmp);
tmp = get_string_from_xpath(xml, "//device/capability/hardware/vendor",
NULL, &retval);
if ((tmp != NULL) && (retval > 0))
- add_assoc_string_ex(return_value, "hardware_vendor", 16, tmp, 1);
+ add_assoc_string_ex(return_value, "hardware_vendor", 16, tmp
VIRT_COPY_OPT);
/* Get hardware version */
free(tmp);
tmp = get_string_from_xpath(xml,
"//device/capability/hardware/version", NULL, &retval);
if ((tmp != NULL) && (retval > 0))
- add_assoc_string_ex(return_value, "hardware_version", 17, tmp, 1);
+ add_assoc_string_ex(return_value, "hardware_version", 17, tmp
VIRT_COPY_OPT);
/* Get hardware serial */
free(tmp);
tmp = get_string_from_xpath(xml, "//device/capability/hardware/serial",
NULL, &retval);
if ((tmp != NULL) && (retval > 0))
- add_assoc_string_ex(return_value, "hardware_serial", 16, tmp, 1);
+ add_assoc_string_ex(return_value, "hardware_serial", 16, tmp
VIRT_COPY_OPT);
/* Get hardware UUID */
free(tmp);
tmp = get_string_from_xpath(xml, "//device/capability/hardware/uuid",
NULL, &retval);
if (tmp != NULL)
- add_assoc_string_ex(return_value, "hardware_uuid", 15, tmp, 1);
+ add_assoc_string_ex(return_value, "hardware_uuid", 15, tmp
VIRT_COPY_OPT);
/* Get firmware vendor */
free(tmp);
tmp = get_string_from_xpath(xml, "//device/capability/firmware/vendor",
NULL, &retval);
if ((tmp != NULL) && (retval > 0))
- add_assoc_string_ex(return_value, "firmware_vendor", 16, tmp, 1);
+ add_assoc_string_ex(return_value, "firmware_vendor", 16, tmp
VIRT_COPY_OPT);
/* Get firmware version */
free(tmp);
tmp = get_string_from_xpath(xml,
"//device/capability/firmware/version", NULL, &retval);
if ((tmp != NULL) && (retval > 0))
- add_assoc_string_ex(return_value, "firmware_version", 17, tmp, 1);
+ add_assoc_string_ex(return_value, "firmware_version", 17, tmp
VIRT_COPY_OPT);
/* Get firmware release date */
free(tmp);
tmp = get_string_from_xpath(xml,
"//device/capability/firmware/release_date", NULL, &retval);
if ((tmp != NULL) && (retval > 0))
- add_assoc_string_ex(return_value, "firmware_release_date", 22, tmp,
1);
+ add_assoc_string_ex(return_value, "firmware_release_date", 22, tmp
VIRT_COPY_OPT);
}
/* Get product_id */
free(tmp);
tmp = get_string_from_xpath(xml, "//device/capability/product/@id", NULL,
&retval);
if ((tmp != NULL) && (retval > 0))
- add_assoc_string_ex(return_value, "product_id", 11, tmp, 1);
+ add_assoc_string_ex(return_value, "product_id", 11, tmp
VIRT_COPY_OPT);
/* Get product_name */
free(tmp);
tmp = get_string_from_xpath(xml, "//device/capability/product", NULL,
&retval);
if ((tmp != NULL) && (retval > 0))
- add_assoc_string_ex(return_value, "product_name", 13, tmp, 1);
+ add_assoc_string_ex(return_value, "product_name", 13, tmp
VIRT_COPY_OPT);
/* Get vendor_id */
free(tmp);
tmp = get_string_from_xpath(xml, "//device/capability/vendor/@id", NULL,
&retval);
if ((tmp != NULL) && (retval > 0))
- add_assoc_string_ex(return_value, "vendor_id", 10, tmp, 1);
+ add_assoc_string_ex(return_value, "vendor_id", 10, tmp VIRT_COPY_OPT);
/* Get vendor_name */
free(tmp);
tmp = get_string_from_xpath(xml, "//device/capability/vendor", NULL,
&retval);
if ((tmp != NULL) && (retval > 0))
- add_assoc_string_ex(return_value, "vendor_name", 12, tmp, 1);
+ add_assoc_string_ex(return_value, "vendor_name", 12, tmp
VIRT_COPY_OPT);
/* Get driver name */
free(tmp);
tmp = get_string_from_xpath(xml, "//device/driver/name", NULL,
&retval);
if ((tmp != NULL) && (retval > 0))
- add_assoc_string_ex(return_value, "driver_name", 12, tmp, 1);
+ add_assoc_string_ex(return_value, "driver_name", 12, tmp
VIRT_COPY_OPT);
/* Get driver name */
free(tmp);
tmp = get_string_from_xpath(xml, "//device/capability/interface", NULL,
&retval);
if ((tmp != NULL) && (retval > 0))
- add_assoc_string_ex(return_value, "interface_name", 15, tmp, 1);
+ add_assoc_string_ex(return_value, "interface_name", 15, tmp
VIRT_COPY_OPT);
/* Get driver name */
free(tmp);
tmp = get_string_from_xpath(xml, "//device/capability/address", NULL,
&retval);
if ((tmp != NULL) && (retval > 0))
- add_assoc_string_ex(return_value, "address", 8, tmp, 1);
+ add_assoc_string_ex(return_value, "address", 8, tmp VIRT_COPY_OPT);
/* Get driver name */
free(tmp);
tmp = get_string_from_xpath(xml, "//device/capability/capability/@type",
NULL, &retval);
if ((tmp != NULL) && (retval > 0))
- add_assoc_string_ex(return_value, "capabilities", 11, tmp, 1);
+ add_assoc_string_ex(return_value, "capabilities", 11, tmp
VIRT_COPY_OPT);
free(cap);
free(tmp);
@@ -9293,11 +9204,7 @@ PHP_FUNCTION(libvirt_network_get_bridge)
RETURN_FALSE;
}
-#if PHP_MAJOR_VERSION >= 7
- RETURN_STRING(name);
-#else
- RETURN_STRING(name, 1);
-#endif
+ RETURN_STRING(name VIRT_COPY_OPT);
}
/*
@@ -9370,42 +9277,42 @@ PHP_FUNCTION(libvirt_network_get_information)
RETURN_FALSE;
}
- add_assoc_string_ex(return_value, "name", 5, name, 1);
+ add_assoc_string_ex(return_value, "name", 5, name VIRT_COPY_OPT);
/* Get gateway IP address */
ipaddr = get_string_from_xpath(xml, "//network/ip/@address", NULL,
&retval);
if (ipaddr && retval > 0)
- add_assoc_string_ex(return_value, "ip", 3, ipaddr, 1);
+ add_assoc_string_ex(return_value, "ip", 3, ipaddr VIRT_COPY_OPT);
/* Get netmask */
netmask = get_string_from_xpath(xml, "//network/ip/@netmask", NULL,
&retval);
if (netmask && retval > 0) {
int subnet_bits = get_subnet_bits(netmask);
- add_assoc_string_ex(return_value, "netmask", 8, netmask, 1);
+ add_assoc_string_ex(return_value, "netmask", 8, netmask
VIRT_COPY_OPT);
add_assoc_long(return_value, "netmask_bits", (long) subnet_bits);
/* Format CIDR address representation */
ipaddr[strlen(ipaddr) - 1] = ipaddr[strlen(ipaddr) - 1] - 1;
snprintf(fixedtemp, sizeof(fixedtemp), "%s/%d", ipaddr, subnet_bits);
- add_assoc_string_ex(return_value, "ip_range", 9, fixedtemp, 1);
+ add_assoc_string_ex(return_value, "ip_range", 9, fixedtemp
VIRT_COPY_OPT);
}
/* Get forwarding settings */
mode = get_string_from_xpath(xml, "//network/forward/@mode", NULL,
&retval);
if (mode && retval > 0)
- add_assoc_string_ex(return_value, "forwarding", 11, mode, 1);
+ add_assoc_string_ex(return_value, "forwarding", 11, mode
VIRT_COPY_OPT);
/* Get forwarding settings */
dev = get_string_from_xpath(xml, "//network/forward/@dev", NULL,
&retval);
if (dev && retval > 0)
- add_assoc_string_ex(return_value, "forward_dev", 12, dev, 1);
+ add_assoc_string_ex(return_value, "forward_dev", 12, dev
VIRT_COPY_OPT);
/* Get DHCP values */
dhcp_start = get_string_from_xpath(xml, "//network/ip/dhcp/range/@start",
NULL, &retval);
dhcp_end = get_string_from_xpath(xml, "//network/ip/dhcp/range/@end", NULL,
&retval);
if (dhcp_start && dhcp_end && retval > 0) {
- add_assoc_string_ex(return_value, "dhcp_start", 11, dhcp_start, 1);
- add_assoc_string_ex(return_value, "dhcp_end", 9, dhcp_end, 1);
+ add_assoc_string_ex(return_value, "dhcp_start", 11, dhcp_start
VIRT_COPY_OPT);
+ add_assoc_string_ex(return_value, "dhcp_end", 9, dhcp_end
VIRT_COPY_OPT);
}
free(dhcp_end);
@@ -9497,17 +9404,9 @@ PHP_FUNCTION(libvirt_network_get_xml_desc)
tmp = get_string_from_xpath(xml, xpath, NULL, &retval);
if ((tmp == NULL) || (retval < 0)) {
-#if PHP_MAJOR_VERSION >= 7
- RETVAL_STRING(xml);
-#else
- RETVAL_STRING(xml, 1);
-#endif
+ RETVAL_STRING(xml VIRT_COPY_OPT);
} else {
-#if PHP_MAJOR_VERSION >= 7
- RETVAL_STRING(tmp);
-#else
- RETVAL_STRING(tmp, 1);
-#endif
+ RETVAL_STRING(tmp VIRT_COPY_OPT);
}
free(xml);
@@ -9547,7 +9446,7 @@ PHP_FUNCTION(libvirt_version)
add_assoc_long(return_value, "libvirt.minor",(long)((libVer/1000) %
1000));
add_assoc_long(return_value, "libvirt.major",(long)((libVer/1000000) %
1000));
- add_assoc_string_ex(return_value, "connector.version", 18,
PHP_LIBVIRT_WORLD_VERSION, 1);
+ add_assoc_string_ex(return_value, "connector.version", 18,
PHP_LIBVIRT_WORLD_VERSION VIRT_COPY_OPT);
add_assoc_long(return_value, "connector.major", VERSION_MAJOR);
add_assoc_long(return_value, "connector.minor", VERSION_MINOR);
add_assoc_long(return_value, "connector.release", VERSION_MICRO);
--
2.5.5