Dňa 29.9.2011 18:22, Eric Blake wrote / napísal(a):
Fixing this involved some refactoring of common code out of domain_conf and nwfilter_conf into nwfilter_params. * src/conf/nwfilter_params.h (virNWFilterFormatParamAttributes): Adjust signature. * src/conf/nwfilter_params.c (_formatParameterAttrs) (virNWFilterFormatParamAttributes): Adjust indentation handling, and handle filterref here. (formatterParam): Delete unused struct. * src/conf/domain_conf.c (virDomainNetDefFormat): Adjust caller. * src/conf/nwfilter_conf.c (virNWFilterIncludeDefFormat): Likewise. --- src/conf/domain_conf.c | 15 ++++--------- src/conf/nwfilter_conf.c | 18 ++++++---------- src/conf/nwfilter_params.c | 45 +++++++++++++++++++------------------------ src/conf/nwfilter_params.h | 7 ++++- 4 files changed, 37 insertions(+), 48 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 70201af..efdf914 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c
@@ -9562,15 +9561,11 @@ virDomainNetDefFormat(virBufferPtr buf, } } if (def->filter) { - virBufferEscapeString(buf, "<filterref filter='%s'", - def->filter); - attrs = virNWFilterFormatParamAttributes(def->filterparams, - " ");
The offset of the <filterref element is 6 spaces and of NWFilter param attributes is 8 spaces here.
- if (!attrs || strlen(attrs)<= 1) - virBufferAddLit(buf, "/>\n"); - else - virBufferAsprintf(buf, ">\n%s</filterref>\n", attrs); - VIR_FREE(attrs); + virBufferAdjustIndent(buf, 4);
Here you add a offset of 4 (the param attributes are indented 6 spaces). This probably should be set to 6 as other elements in this function are indented 6 spaces. (Look into the original mail please, if you are checking this, whitespace in this reply is mangled by thunderbird ...)
+ if (virNWFilterFormatParamAttributes(buf, def->filterparams, + def->filter)< 0) + return -1; + virBufferAdjustIndent(buf, -4); } if (def->bootIndex) virBufferAsprintf(buf, "<boot order='%d'/>\n", def->bootIndex);
ACK with that fixed. Peter -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list