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>

Reply via email to