diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2011-08-09 11:20:31 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2011-08-22 15:56:50 +1000 |
commit | d33652dad8838ab0a9175ca4613a3161ebc5676f (patch) | |
tree | effb152c416afbda85a5655eb0f06cb5220bd75d | |
parent | e684e816acb617b4dc66a68e2b0ba8f80399170a (diff) |
config: return the new InputOption from add_option.
Change add_option to return the new InputOption on success, or NULL
failure. This way we can at least check for errors in callers.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
-rw-r--r-- | config/config-backends.h | 2 | ||||
-rw-r--r-- | config/config.c | 13 |
2 files changed, 11 insertions, 4 deletions
diff --git a/config/config-backends.h b/config/config-backends.h index 0a2a22af0..0d36d7208 100644 --- a/config/config-backends.h +++ b/config/config-backends.h @@ -30,7 +30,7 @@ void remove_devices(const char *backend, const char *config_info); BOOL device_is_duplicate(const char *config_info); -void add_option(InputOption **options, const char *key, const char *value); +InputOption* add_option(InputOption **options, const char *key, const char *value); #ifdef CONFIG_UDEV int config_udev_init(void); diff --git a/config/config.c b/config/config.c index d86f7c649..af8f4f9b2 100644 --- a/config/config.c +++ b/config/config.c @@ -122,18 +122,25 @@ device_is_duplicate(const char *config_info) return FALSE; } -void +/** + * Allocate a new option and append to the list. + * + * @return A pointer to the newly allocated InputOption struct. + */ +InputOption* add_option(InputOption **options, const char *key, const char *value) { if (!value || *value == '\0') - return; + return NULL; for (; *options; options = &(*options)->next) ; *options = calloc(sizeof(**options), 1); if (!*options) /* Yeesh. */ - return; + return NULL; (*options)->key = strdup(key); (*options)->value = strdup(value); (*options)->next = NULL; + + return *options; } |