[libvirt] [PATCH] nwfilter: enable hex number inputs in filter XML

Eric Blake eblake at redhat.com
Mon Apr 26 17:00:45 UTC 2010


On 04/26/2010 10:44 AM, Stefan Berger wrote:
> With this patch I want to enable hex number inputs in the filter XML. A
> number that was entered as hex is also printed as hex unless a string
> representing the meaning can be found.
> 
> I am also extending the schema and adding a test case. A problem with
> the DSCP value is fixed on the way as well.

ACK.

> +               format = "%d";
> +
> +               switch (item->datatype) {
>  
> +               case DATATYPE_UINT8_HEX:
> +                   format = "0x%x";
>                 case DATATYPE_IPMASK:
>                 case DATATYPE_IPV6MASK:
>                     // display all masks in CIDR format
>                 case DATATYPE_UINT8:
>                     storage_ptr = &item->u.u8;
> -                   virBufferVSprintf(buf, "%d", *(uint8_t *)storage_ptr);
> +                   virBufferVSprintf(buf, format, *(uint8_t *)storage_ptr);

Gcc didn't warn about the use of a non-literal format argument here?  At
any rate, if it does start warning, the fix is simple - create a bool
witness, and a ?: expression based on that bool, rather than default
assignment to a variable, similar to what you did here:

>      case DATATYPE_UINT8:
> +    case DATATYPE_UINT8_HEX:
>          if (snprintf(buf, bufsize, asHex ? "0x%x" : "%d",

-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20100426/fa05a87f/attachment-0001.sig>


More information about the libvir-list mailing list