Eric Blake <ebl...@redhat.com> writes: > The handling of \ inside QAPI strings was less than ideal, and > really only worked JSON's \/, \\, \", and our extension of \' > (an obvious extension, when you realize we use '' instead of "" > for strings). For other things, like '\n', it resulted in a > literal 'n' instead of a newline. > > Of course, at the moment, we really have no use for escaped > characters, as QAPI has to map to C identifiers, and we currently > support ASCII only for that. But down the road, we may add > support for default values for string parameters to a command > or struct; if that happens, it would be nice to correctly support > all JSON escape sequences, such as \n or \uXXXX. This gets us > closer, by supporting Unicode escapes in the ASCII range. > > Since JSON does not require \OCTAL or \xXX escapes, and our QMP > implementation does not understand them either, I intentionally > reject it here, but it would be an easy addition if we desired it. > Likewise, intentionally refusing the NUL byte means we don't have > to worry about C strings being shorter than the qapi input. > > Signed-off-by: Eric Blake <ebl...@redhat.com>
Reviewed-by: Markus Armbruster <arm...@redhat.com>