mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-20 06:50:22 +03:00
util: Drop 'virQEMUBuildCommandLineJSONArrayBitmap'
It was used to convert JSON arrays in legacy -object commandline conversion. Since we now exclusively use JSON with -object, this infrastructure is no longer needed. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
af227c6ab0
commit
f46e2bf3b0
@ -3279,7 +3279,6 @@ virProcessWait;
|
||||
# util/virqemu.h
|
||||
virQEMUBuildBufferEscapeComma;
|
||||
virQEMUBuildCommandLineJSON;
|
||||
virQEMUBuildCommandLineJSONArrayBitmap;
|
||||
virQEMUBuildCommandLineJSONArrayNumbered;
|
||||
virQEMUBuildCommandLineJSONArrayObjectsStr;
|
||||
|
||||
|
@ -50,42 +50,6 @@ virQEMUBuildCommandLineJSONRecurse(const char *key,
|
||||
|
||||
|
||||
|
||||
int
|
||||
virQEMUBuildCommandLineJSONArrayBitmap(const char *key,
|
||||
virJSONValue *array,
|
||||
virBuffer *buf)
|
||||
{
|
||||
ssize_t pos = -1;
|
||||
ssize_t end;
|
||||
g_autoptr(virBitmap) bitmap = virBitmapNew(0);
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < virJSONValueArraySize(array); i++) {
|
||||
virJSONValue *member = virJSONValueArrayGet(array, i);
|
||||
unsigned long long value;
|
||||
|
||||
if (virJSONValueGetNumberUlong(member, &value) < 0)
|
||||
return -1;
|
||||
|
||||
virBitmapSetBitExpand(bitmap, value);
|
||||
}
|
||||
|
||||
while ((pos = virBitmapNextSetBit(bitmap, pos)) > -1) {
|
||||
if ((end = virBitmapNextClearBit(bitmap, pos)) < 0)
|
||||
end = virBitmapLastSetBit(bitmap) + 1;
|
||||
|
||||
if (end - 1 > pos) {
|
||||
virBufferAsprintf(buf, "%s=%zd-%zd,", key, pos, end - 1);
|
||||
pos = end;
|
||||
} else {
|
||||
virBufferAsprintf(buf, "%s=%zd,", key, pos);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
virQEMUBuildCommandLineJSONArrayNumbered(const char *key,
|
||||
virJSONValue *array,
|
||||
|
@ -32,9 +32,6 @@ typedef int (*virQEMUBuildCommandLineJSONArrayFormatFunc)(const char *key,
|
||||
int virQEMUBuildCommandLineJSONArrayObjectsStr(const char *key,
|
||||
virJSONValue *array,
|
||||
virBuffer *buf);
|
||||
int virQEMUBuildCommandLineJSONArrayBitmap(const char *key,
|
||||
virJSONValue *array,
|
||||
virBuffer *buf);
|
||||
int virQEMUBuildCommandLineJSONArrayNumbered(const char *key,
|
||||
virJSONValue *array,
|
||||
virBuffer *buf);
|
||||
|
@ -83,39 +83,9 @@ mymain(void)
|
||||
ret = -1; \
|
||||
} while (0)
|
||||
|
||||
#define DO_TEST_COMMAND_OBJECT_FROM_JSON(PROPS, EXPECT) \
|
||||
DO_TEST_COMMAND_FROM_JSON(PROPS, virQEMUBuildCommandLineJSONArrayBitmap, EXPECT)
|
||||
|
||||
#define DO_TEST_COMMAND_DRIVE_FROM_JSON(PROPS, EXPECT) \
|
||||
DO_TEST_COMMAND_FROM_JSON(PROPS, virQEMUBuildCommandLineJSONArrayNumbered, EXPECT)
|
||||
|
||||
DO_TEST_COMMAND_OBJECT_FROM_JSON("{}", NULL);
|
||||
DO_TEST_COMMAND_OBJECT_FROM_JSON("{\"string\":\"qwer\"}", "string=qwer");
|
||||
DO_TEST_COMMAND_OBJECT_FROM_JSON("{\"string\":\"qw,e,r\"}", "string=qw,,e,,r");
|
||||
DO_TEST_COMMAND_OBJECT_FROM_JSON("{\"number\":1234}", "number=1234");
|
||||
DO_TEST_COMMAND_OBJECT_FROM_JSON("{\"boolean\":true}", "boolean=on");
|
||||
DO_TEST_COMMAND_OBJECT_FROM_JSON("{\"boolean\":false}", "boolean=off");
|
||||
DO_TEST_COMMAND_OBJECT_FROM_JSON("{\"bitmap\":[]}", NULL);
|
||||
DO_TEST_COMMAND_OBJECT_FROM_JSON("{\"bitmap\":[0]}", "bitmap=0");
|
||||
DO_TEST_COMMAND_OBJECT_FROM_JSON("{\"bitmap\":[1,3,5]}",
|
||||
"bitmap=1,bitmap=3,bitmap=5");
|
||||
DO_TEST_COMMAND_OBJECT_FROM_JSON("{\"bitmap\":[0,1,2,3]}", "bitmap=0-3");
|
||||
DO_TEST_COMMAND_OBJECT_FROM_JSON("{\"bitmap\":[1,2,3,5]}",
|
||||
"bitmap=1-3,bitmap=5");
|
||||
DO_TEST_COMMAND_OBJECT_FROM_JSON("{\"bitmap\":[1,2,3,5,7,8,9]}",
|
||||
"bitmap=1-3,bitmap=5,bitmap=7-9");
|
||||
DO_TEST_COMMAND_OBJECT_FROM_JSON("{\"array\":[\"bleah\",\"qwerty\",1]}",
|
||||
"array=bleah,array=qwerty,array=1");
|
||||
DO_TEST_COMMAND_OBJECT_FROM_JSON("{\"boolean\":true,\"hyphen-name\":1234,\"some_string\":\"bleah\"}",
|
||||
"boolean=on,hyphen-name=1234,some_string=bleah");
|
||||
DO_TEST_COMMAND_OBJECT_FROM_JSON("{\"nest\": {\"boolean\":true,"
|
||||
"\"hyphen-name\":1234,"
|
||||
"\"some_string\":\"bleah\","
|
||||
"\"bleah\":\"bl,eah\""
|
||||
"}"
|
||||
"}",
|
||||
"nest.boolean=on,nest.hyphen-name=1234,"
|
||||
"nest.some_string=bleah,nest.bleah=bl,,eah");
|
||||
DO_TEST_COMMAND_DRIVE_FROM_JSON("{\"driver\":\"gluster\","
|
||||
"\"volume\":\"test\","
|
||||
"\"path\":\"img\","
|
||||
|
Loading…
x
Reference in New Issue
Block a user