[libvirt] [PATCH] util: changing all the "enum" structures into typedef's in "src/util/" directory.

Eric Blake eblake at redhat.com
Mon May 5 20:33:52 UTC 2014


On 04/26/2014 06:15 PM, Julio Faracco wrote:
> In "src/util/" there are many enumeration (enum) structures. Sometimes, it's better using a typedef for variable types, function types and other usages. Other enumeration will be changed to typedef's in the future.

I line wrapped this and fixed a merge conflict in qemu_domain.c that got
introduced in the meantime.  Also, I shortened the subject line to fit
in 60 columns (for that matter, 'enum structure' doesn't make sense;
'enum type' or 'enum declaration' is closer to the C standard naming).

util: use typedefs for enums in "src/util/" directory

> 
> Signed-off-by: Julio Faracco <jcfaracco at gmail.com>
> ---

>  24 files changed, 86 insertions(+), 87 deletions(-)
> 
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index c655bcf..402c234 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -4972,7 +4972,7 @@ virDomainDiskSourceParse(xmlNodePtr node,
>  
>      memset(&host, 0, sizeof(host));
>  
> -    switch ((enum virStorageType)src->type) {
> +    switch ((virStorageType)src->type) {

Most of your patch is mechanical changes of types that are now typedef'd...


> +++ b/src/util/viraudit.h
> @@ -26,11 +26,11 @@
>  # include "internal.h"
>  # include "virlog.h"
>  
> -enum virAuditRecordType {
> +typedef enum {
>      VIR_AUDIT_RECORD_MACHINE_CONTROL,
>      VIR_AUDIT_RECORD_MACHINE_ID,
>      VIR_AUDIT_RECORD_RESOURCE,
> -};
> +} virAuditRecordType;

...the remainder is the change to use typedefs.

It may have been cleaner to do one type per header file converted, but
the overall diffstat was still manageable for the types you converted.

> +++ b/src/util/virfile.h
> @@ -31,7 +31,7 @@
>  # include "internal.h"
>  # include "virstoragefile.h"
>  
> -typedef enum virFileCloseFlags {
> +typedef enum {
>      VIR_FILE_CLOSE_PRESERVE_ERRNO = 1 << 0,
>      VIR_FILE_CLOSE_IGNORE_EBADF = 1 << 1,
>      VIR_FILE_CLOSE_DONT_LOG = 1 << 2,
> @@ -83,10 +83,10 @@ typedef virFileWrapperFd *virFileWrapperFdPtr;

Huh - that one was already a typedef, with the enum name used twice.

Once the conversions are all complete, I can help you write a syntax
check to ensure we use the same consistent style in new code.

ACK and pushed.  Congrats on your first libvirt patch.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

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


More information about the libvir-list mailing list