[ovs-dev] [PATCH v2 14/21] smap: New function smap_get_uuid().

Justin Pettit jpettit at nicira.com
Thu Jul 30 22:56:51 UTC 2015


Acked-by: Justin Pettit <jpettit at nicira.com>

--Justin


> On Jul 28, 2015, at 8:44 AM, Ben Pfaff <blp at nicira.com> wrote:
> 
> To be used in an upcoming commit.
> 
> Signed-off-by: Ben Pfaff <blp at nicira.com>
> Acked-by: Russell Bryant <rbryant at redhat.com>
> ---
> lib/smap.c | 13 ++++++++++++-
> lib/smap.h |  4 +++-
> 2 files changed, 15 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/smap.c b/lib/smap.c
> index 7fe3ce4..9badedd 100644
> --- a/lib/smap.c
> +++ b/lib/smap.c
> @@ -1,4 +1,4 @@
> -/* Copyright (c) 2012, 2014 Nicira, Inc.
> +/* Copyright (c) 2012, 2014, 2015 Nicira, Inc.
>  *
>  * Licensed under the Apache License, Version 2.0 (the "License");
>  * you may not use this file except in compliance with the License.
> @@ -19,6 +19,7 @@
> 
> #include "hash.h"
> #include "json.h"
> +#include "uuid.h"
> 
> static struct smap_node *smap_add__(struct smap *, char *, void *,
>                                     size_t hash);
> @@ -215,6 +216,16 @@ smap_get_int(const struct smap *smap, const char *key, int def)
>     return value ? atoi(value) : def;
> }
> 
> +/* Gets the value associated with 'key' in 'smap' and converts it to a UUID
> + * using uuid_from_string().  Returns true if successful, false if 'key' is not
> + * in 'smap' or if 'key' does not have the correct syntax for a UUID. */
> +bool
> +smap_get_uuid(const struct smap *smap, const char *key, struct uuid *uuid)
> +{
> +    const char *value = smap_get(smap, key);
> +    return value && uuid_from_string(uuid, value);
> +}
> +
> /* Returns true of there are no elements in 'smap'. */
> bool
> smap_is_empty(const struct smap *smap)
> diff --git a/lib/smap.h b/lib/smap.h
> index caf3efc..24598a8 100644
> --- a/lib/smap.h
> +++ b/lib/smap.h
> @@ -1,4 +1,4 @@
> -/* Copyright (c) 2012, 2014 Nicira, Inc.
> +/* Copyright (c) 2012, 2014, 2015 Nicira, Inc.
>  *
>  * Licensed under the Apache License, Version 2.0 (the "License");
>  * you may not use this file except in compliance with the License.
> @@ -18,6 +18,7 @@
> #include "hmap.h"
> 
> struct json;
> +struct uuid;
> 
> /* A map from string to string. */
> struct smap {
> @@ -57,6 +58,7 @@ const char *smap_get(const struct smap *, const char *);
> struct smap_node *smap_get_node(const struct smap *, const char *);
> bool smap_get_bool(const struct smap *smap, const char *key, bool def);
> int smap_get_int(const struct smap *smap, const char *key, int def);
> +bool smap_get_uuid(const struct smap *, const char *key, struct uuid *);
> 
> bool smap_is_empty(const struct smap *);
> size_t smap_count(const struct smap *);
> -- 
> 2.1.3
> 
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev




More information about the dev mailing list