xemu/include/qemu
Markus Armbruster 80c710cb06 qemu-img: Move is_valid_option_list() to qemu-img.c and rewrite
is_valid_option_list()'s purpose is ensuring qemu-img.c's can safely
join multiple parameter strings separated by ',' like this:

        g_strdup_printf("%s,%s", params1, params2);

How it does that is anything but obvious.  A close reading of the code
reveals that it fails exactly when its argument starts with ',' or
ends with an odd number of ','.  Makes sense, actually, because when
the argument starts with ',', a separating ',' preceding it would get
escaped, and when it ends with an odd number of ',', a separating ','
following it would get escaped.

Move it to qemu-img.c and rewrite it the obvious way.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20200415074927.19897-9-armbru@redhat.com>
2020-04-29 08:01:52 +02:00
..
atomic128.h include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
atomic.h qemu/atomic.h: add #ifdef guards for stdatomic.h 2020-03-27 13:42:57 +00:00
base64.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
bcd.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
bitmap.h bitmap: Add bitmap_copy_with_{src|dst}_offset() 2019-07-15 15:39:02 +02:00
bitops.h qemu/bitops.h: Add extract8 and extract16 2020-02-25 20:20:23 +00:00
bswap.h include/qemu/bswap.h: Use __builtin_memcpy() in accessor functions 2019-04-09 18:34:21 +02:00
buffer.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
co-shared-resource.h util: introduce SharedResource 2019-10-28 11:22:31 +01:00
compiler.h compiler.h: Don't use compile-time assert when __NO_INLINE__ is defined 2020-02-28 10:58:41 -08:00
config-file.h Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
coroutine_int.h coroutine: avoid co_queue_wakeup recursion 2018-03-27 13:05:28 +01:00
coroutine.h coroutine: Add qemu_co_mutex_assert_locked() 2019-10-25 15:18:38 +02:00
cpuid.h util: add util function buffer_zero_avx512() 2020-03-16 23:02:21 +01:00
crc32c.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
ctype.h qemu-common: Move qemu_isalnum() etc. to qemu/ctype.h 2019-06-11 20:22:09 +02:00
cutils.h Memory: Enable writeback for given memory region 2019-12-16 10:46:35 +00:00
dbus.h util: add dbus helper unit 2020-01-06 18:41:32 +04:00
drm.h Clean up ill-advised or unusual header guards 2019-05-13 08:58:55 +02:00
envlist.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
error-report.h error: Fix -msg timestamp default 2019-12-18 08:36:15 +01:00
event_notifier.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
fifo8.h Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
fifo32.h hw: Clean up includes 2016-06-07 18:19:23 +03:00
filemonitor.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
futex.h futex: add missing header guards 2017-10-16 20:57:13 +03:00
guest-random.h util: Add qemu_guest_getrandom and associated routines 2019-05-22 12:38:54 -04:00
hbitmap.h block/dirty-bitmap: improve _next_dirty_area API 2020-03-18 14:03:46 -04:00
help_option.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
host-utils.h includes: Replace QEMU_GNUC_PREREQ with "__has_builtin || !defined(__clang__)" 2018-12-12 10:01:13 +01:00
id.h chardev: generate an internal id when none given 2020-01-07 16:50:09 +04:00
int128.h tcg: Add atomic128 helpers 2016-10-26 08:29:01 -07:00
iov.h block/qcow2: implement .bdrv_co_pwritev(_compressed)_part 2019-08-27 14:58:42 +01:00
iova-tree.h util: remove redundant include of glib.h and add osdep.h 2018-06-29 12:22:28 +01:00
jhash.h Clean up ill-advised or unusual header guards 2019-05-13 08:58:55 +02:00
job.h job: refactor progress to separate object 2020-03-11 12:42:30 +01:00
lockable.h lockable: add QemuRecMutex support 2020-03-17 15:18:45 +01:00
log-for-trace.h log-for-trace.h: Split out parts of log.h used by trace.h 2018-03-12 11:10:20 +00:00
log.h linux-user: Use `qemu_log' for strace 2020-02-19 11:17:40 +01:00
main-loop.h Wrapper function to wait on condition for the main loop mutex 2020-02-03 11:33:10 +11:00
memfd.h linux-user: add memfd_create 2019-09-11 08:46:17 +02:00
mmap-alloc.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
module.h migration: Add support for modules 2020-02-28 09:24:43 +01:00
notify.h xen / notify: introduce a new XenWatchList abstraction 2019-09-24 12:18:47 +01:00
nvdimm-utils.h mem: move nvdimm_device_list to utilities 2020-02-21 09:15:03 +11:00
option_int.h qemu/queue.h: simplify reverse access to QTAILQ 2019-01-11 15:46:55 +01:00
option.h qemu-img: Move is_valid_option_list() to qemu-img.c and rewrite 2020-04-29 08:01:52 +02:00
osdep.h osdep.h: Drop no-longer-needed Coverity workarounds 2020-04-14 09:44:31 +01:00
path.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
plugin-memory.h plugins: implement helpers for resolving hwaddr 2019-10-28 15:12:38 +00:00
plugin.h plugin: add core code 2019-10-28 15:12:38 +00:00
pmem.h Clean up decorations and whitespace around header guards 2019-05-13 08:58:55 +02:00
processor.h Drop remaining bits of ia64 host support 2018-02-05 18:09:45 +01:00
progress_meter.h job: refactor progress to separate object 2020-03-11 12:42:30 +01:00
qdist.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
qemu-plugin.h tcg plugins: expose an API version concept 2019-11-12 14:32:55 +00:00
qemu-print.h qemu-print: New qemu_fprintf(), qemu_vfprintf() 2019-04-18 22:18:59 +02:00
qht.h qht: constify qht_statistics_init 2018-09-26 08:55:54 -07:00
qsp.h qsp: Simplify how qsp_report() prints 2019-04-18 22:18:59 +02:00
queue.h qemu/queue.h: clear linked list pointers on remove 2020-03-09 16:39:20 +00:00
range.h Include qemu/queue.h slightly less 2019-08-16 13:31:52 +02:00
ratelimit.h include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
rcu_queue.h rcu_queue: add QSLIST functions 2020-02-22 08:26:47 +00:00
rcu.h rcu: Add automatically released rcu_read_lock variants 2019-10-11 14:19:49 +01:00
readline.h readline: add a free function 2018-01-16 14:54:50 +01:00
selfmap.h linux-user: factor out reading of /proc/self/maps 2020-04-07 16:19:49 +01:00
seqlock.h seqlock: fix seqlock_write_unlock_impl function 2020-02-12 16:23:01 +01:00
sockets.h socket: Add backlog parameter to socket_listen 2019-09-03 23:24:42 +02:00
stats64.h Normalize header guard symbol definition. 2019-05-13 08:58:55 +02:00
sys_membarrier.h Normalize header guard symbol definition. 2019-05-13 08:58:55 +02:00
systemd.h Normalize header guard symbol definition. 2019-05-13 08:58:55 +02:00
thread-posix.h qsp: QEMU's Synchronization Profiler 2018-08-23 18:46:25 +02:00
thread-win32.h include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
thread.h thread.h: Remove trailing semicolons from Coverity qemu_mutex_lock() etc 2020-04-14 09:44:31 +01:00
throttle-options.h block: add throttle block filter driver 2017-09-06 10:12:02 +02:00
throttle.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
timed-average.h include: Clean up includes 2016-02-23 12:43:05 +00:00
timer.h Remove support for CLOCK_MONOTONIC not being defined 2020-02-12 16:23:01 +01:00
typedefs.h sysemu: Move the VMChangeStateEntry typedef to qemu/typedefs.h 2019-08-16 13:31:53 +02:00
unicode.h json: Reject invalid UTF-8 sequences 2018-08-24 20:26:37 +02:00
units.h block: Eliminate the S_1KiB, S_2KiB, ... macros 2019-02-01 13:46:45 +01:00
uri.h Remove unused function declarations 2016-09-15 15:32:22 +03:00
uuid.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
vfio-helpers.h Clean up includes 2018-12-20 10:29:08 +01:00
win_dump_defs.h dump: move Windows dump structures definitions 2018-10-02 19:09:12 +02:00
xattr.h include: Fix typos found by codespell 2017-01-24 23:26:52 +03:00
xxhash.h xxhash: match output against the original xxhash32 2018-12-17 06:04:44 +03:00