commit 0a0cf7bafd35cdfb97afa4042a753347ec24bdd1
Author: David Freese <w1hkj@bellsouth.net>
Date: Wed Jun 5 21:29:01 2019 -0500
xmlrpc <vector>
* fix for zero length byte vector instantiation
on Fedora global build
diff --git a/src/network/xmlrpc.cxx b/src/network/xmlrpc.cxx
index bedc1baac..32f1261f3 100644
--- a/src/network/xmlrpc.cxx
+++ b/src/network/xmlrpc.cxx
@@ -2996,8 +2996,9 @@ public:
throw f;
}
- if (!size) {
- *retval = xmlrpc_c::value_bytestring("empty rx buffer!");
+ if (size == 0) {
+ *retval = xmlrpc_c::value_bytestring("");
+// *retval = xmlrpc_c::value_bytestring("empty rx buffer!");
} else {
vector<unsigned char> bytes(size);
memcpy(&bytes[0], text, size);
@@ -3129,10 +3130,14 @@ public:
int size;
REQ_SYNC(get_rxtx, &text, &size);
- vector<unsigned char> bytes(size);
- memcpy(&bytes[0], text, size);
+ if (size == 0) {
+ *retval = xmlrpc_c::value_bytestring("");
+ } else {
+ vector<unsigned char> bytes(size);
+ memcpy(&bytes[0], text, size);
+ *retval = xmlrpc_c::value_bytestring(bytes);
+ }
LOG_VERBOSE("RXTX.get_data: %s", text);
- *retval = xmlrpc_c::value_bytestring(bytes);
}
};
@@ -3159,10 +3164,14 @@ public:
int size;
REQ_SYNC(get_rx, &text, &size);
- vector<unsigned char> bytes(size);
- memcpy(&bytes[0], text, size);
+ if (size == 0) {
+ *retval = xmlrpc_c::value_bytestring("");
+ } else {
+ vector<unsigned char> bytes(size);
+ memcpy(&bytes[0], text, size);
+ *retval = xmlrpc_c::value_bytestring(bytes);
+ }
LOG_VERBOSE("RX.get_data: %s", text);
- *retval = xmlrpc_c::value_bytestring(bytes);
}
};
@@ -3189,10 +3198,14 @@ public:
int size;
REQ_SYNC(get_tx, &text, &size);
- vector<unsigned char> bytes(size);
- memcpy(&bytes[0], text, size);
+ if (size == 0) {
+ *retval = xmlrpc_c::value_bytestring("");
+ } else {
+ vector<unsigned char> bytes(size);
+ memcpy(&bytes[0], text, size);
+ *retval = xmlrpc_c::value_bytestring(bytes);
+ }
LOG_VERBOSE("TX.get_data: %s", text);
- *retval = xmlrpc_c::value_bytestring(bytes);
}
};