Message ID | 20180512012537.22478-9-jsnow@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 05/11/2018 08:25 PM, John Snow wrote: > The function already exists, just expose it. > > Signed-off-by: John Snow <jsnow@redhat.com> > --- > include/qapi/qmp/qjson.h | 1 + > qobject/qjson.c | 21 +++++++++++---------- > 2 files changed, 12 insertions(+), 10 deletions(-) > > diff --git a/include/qapi/qmp/qjson.h b/include/qapi/qmp/qjson.h > index b274ac3a86..0e8624c1fa 100644 > --- a/include/qapi/qmp/qjson.h > +++ b/include/qapi/qmp/qjson.h > @@ -19,6 +19,7 @@ QObject *qobject_from_jsonf(const char *string, ...) GCC_FMT_ATTR(1, 2); > QObject *qobject_from_jsonv(const char *string, va_list *ap, Error **errp) > GCC_FMT_ATTR(1, 0); > > +QString *qobject_to_json_opt(const QObject *obj, int pretty, int indent); pretty seems like it is better as a bool. Even though to_json() isn't typed correctly, that's no excuse for the public function to copy a bad interface (and maybe it's worth a separate cleanup patch to fix to_json() first).
On 05/16/2018 05:34 PM, Eric Blake wrote: > On 05/11/2018 08:25 PM, John Snow wrote: >> The function already exists, just expose it. >> >> Signed-off-by: John Snow <jsnow@redhat.com> >> --- >> include/qapi/qmp/qjson.h | 1 + >> qobject/qjson.c | 21 +++++++++++---------- >> 2 files changed, 12 insertions(+), 10 deletions(-) >> >> diff --git a/include/qapi/qmp/qjson.h b/include/qapi/qmp/qjson.h >> index b274ac3a86..0e8624c1fa 100644 >> --- a/include/qapi/qmp/qjson.h >> +++ b/include/qapi/qmp/qjson.h >> @@ -19,6 +19,7 @@ QObject *qobject_from_jsonf(const char *string, ...) >> GCC_FMT_ATTR(1, 2); >> QObject *qobject_from_jsonv(const char *string, va_list *ap, Error >> **errp) >> GCC_FMT_ATTR(1, 0); >> +QString *qobject_to_json_opt(const QObject *obj, int pretty, int >> indent); > > pretty seems like it is better as a bool. Even though to_json() isn't > typed correctly, that's no excuse for the public function to copy a bad > interface (and maybe it's worth a separate cleanup patch to fix > to_json() first). > Eh, sure, why not. Done.
diff --git a/include/qapi/qmp/qjson.h b/include/qapi/qmp/qjson.h index b274ac3a86..0e8624c1fa 100644 --- a/include/qapi/qmp/qjson.h +++ b/include/qapi/qmp/qjson.h @@ -19,6 +19,7 @@ QObject *qobject_from_jsonf(const char *string, ...) GCC_FMT_ATTR(1, 2); QObject *qobject_from_jsonv(const char *string, va_list *ap, Error **errp) GCC_FMT_ATTR(1, 0); +QString *qobject_to_json_opt(const QObject *obj, int pretty, int indent); QString *qobject_to_json(const QObject *obj); QString *qobject_to_json_pretty(const QObject *obj); diff --git a/qobject/qjson.c b/qobject/qjson.c index 9816a65c7d..d603e1cce1 100644 --- a/qobject/qjson.c +++ b/qobject/qjson.c @@ -252,20 +252,21 @@ static void to_json(const QObject *obj, QString *str, int pretty, int indent) } } +QString *qobject_to_json_opt(const QObject *obj, int pretty, int indent) +{ + QString *str = qstring_new(); + + to_json(obj, str, pretty, indent); + + return str; +} + QString *qobject_to_json(const QObject *obj) { - QString *str = qstring_new(); - - to_json(obj, str, 0, 0); - - return str; + return qobject_to_json_opt(obj, 0, 0); } QString *qobject_to_json_pretty(const QObject *obj) { - QString *str = qstring_new(); - - to_json(obj, str, 1, 0); - - return str; + return qobject_to_json_opt(obj, 1, 0); }
The function already exists, just expose it. Signed-off-by: John Snow <jsnow@redhat.com> --- include/qapi/qmp/qjson.h | 1 + qobject/qjson.c | 21 +++++++++++---------- 2 files changed, 12 insertions(+), 10 deletions(-)