qobject_to_json() and qobject_to_json_pretty() build a GString, then covert it to QString. Just one of the callers actually needs a QString: qemu_rbd_parse_filename(). A few others need a string they can modify: qmp_send_response(), qga's send_response(), to_json_str(), and qmp_fd_vsend_fds(). The remainder just need a string. Change qobject_to_json() and qobject_to_json_pretty() to return the GString. qemu_rbd_parse_filename() now has to convert to QString. All others save a QString temporary. to_json_str() actually becomes a bit simpler, because GString provides more convenient modification functions. Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20201211171152.146877-6-armbru@redhat.com>
		
			
				
	
	
		
			32 lines
		
	
	
		
			844 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			844 B
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * QObject JSON integration
 | 
						|
 *
 | 
						|
 * Copyright IBM, Corp. 2009
 | 
						|
 *
 | 
						|
 * Authors:
 | 
						|
 *  Anthony Liguori   <aliguori@us.ibm.com>
 | 
						|
 *
 | 
						|
 * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
 | 
						|
 * See the COPYING.LIB file in the top-level directory.
 | 
						|
 *
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef QJSON_H
 | 
						|
#define QJSON_H
 | 
						|
 | 
						|
QObject *qobject_from_json(const char *string, Error **errp);
 | 
						|
 | 
						|
QObject *qobject_from_vjsonf_nofail(const char *string, va_list ap)
 | 
						|
    GCC_FMT_ATTR(1, 0);
 | 
						|
QObject *qobject_from_jsonf_nofail(const char *string, ...)
 | 
						|
    GCC_FMT_ATTR(1, 2);
 | 
						|
QDict *qdict_from_vjsonf_nofail(const char *string, va_list ap)
 | 
						|
    GCC_FMT_ATTR(1, 0);
 | 
						|
QDict *qdict_from_jsonf_nofail(const char *string, ...)
 | 
						|
    GCC_FMT_ATTR(1, 2);
 | 
						|
 | 
						|
GString *qobject_to_json(const QObject *obj);
 | 
						|
GString *qobject_to_json_pretty(const QObject *obj, bool pretty);
 | 
						|
 | 
						|
#endif /* QJSON_H */
 |