On 07/04/13 14:06, Michal Privoznik wrote:
Actually, I'm turning this function into a macro as filename, function name and line number needs to be passed. The new function virAsprintfInternal is introduced with the extended set of arguments. --- cfg.mk | 2 +- src/conf/domain_audit.c | 36 ++++++++++----------- src/driver.c | 4 +-- src/libvirt_private.syms | 4 +-- src/util/virerror.c | 2 +- src/util/virstring.c | 36 ++++++++++++--------- src/util/virstring.h | 67 +++++++++++++++++++++++++++++++++++---- tests/domainsnapshotxml2xmltest.c | 2 ++ tests/fchosttest.c | 2 ++ tests/interfacexml2xmltest.c | 2 ++ tests/lxcxml2xmltest.c | 2 ++ tests/networkxml2xmltest.c | 2 ++ tests/nodedevxml2xmltest.c | 2 ++ tests/nodeinfotest.c | 2 ++ tests/nwfilterxml2xmltest.c | 2 ++ tests/qemuargv2xmltest.c | 2 ++ tests/qemuhelptest.c | 2 ++ tests/qemuxml2xmltest.c | 2 ++ tests/sexpr2xmltest.c | 2 ++ tests/storagepoolxml2xmltest.c | 2 ++ tests/storagevolxml2argvtest.c | 2 ++ tests/storagevolxml2xmltest.c | 2 ++ tests/sysinfotest.c | 2 ++ tests/virbuftest.c | 2 ++ tests/virhashtest.c | 2 ++ tests/virshtest.c | 2 ++ tests/xencapstest.c | 2 ++ tests/xml2sexprtest.c | 2 ++ tools/virt-host-validate-common.c | 2 ++ 29 files changed, 150 insertions(+), 45 deletions(-)
Again, there are a few places (at least in src/virlog.c) that will need fixing before this patch will be ready. The bulk rest of the patch looks okay but without fixing the logging code, we might run into nasty recursions on OOM.
As most of the code needs to be evaluated manually anyways, I'd change all calls to virAsprintf using a script to something like "virAsprintfUnhandled" with the original functionality along with introducing the new macros and then changing everything back according to the semantics of the code. The problem is that this approach would require lots of changes :(. Anyways, I'm okay with reviewing this again, but we need to be careful about those few places where reporting an error could hurt.
If anybody has some suggestions about other places than src/util/virerror.c and src/util/virlog.c that certainly need special care, please respond so we don't break stuff.
Peter -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list