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>
This commit is contained in:
parent
e684e816ac
commit
d33652dad8
|
@ -30,7 +30,7 @@
|
||||||
|
|
||||||
void remove_devices(const char *backend, const char *config_info);
|
void remove_devices(const char *backend, const char *config_info);
|
||||||
BOOL device_is_duplicate(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
|
#ifdef CONFIG_UDEV
|
||||||
int config_udev_init(void);
|
int config_udev_init(void);
|
||||||
|
|
|
@ -122,18 +122,25 @@ device_is_duplicate(const char *config_info)
|
||||||
return FALSE;
|
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)
|
add_option(InputOption **options, const char *key, const char *value)
|
||||||
{
|
{
|
||||||
if (!value || *value == '\0')
|
if (!value || *value == '\0')
|
||||||
return;
|
return NULL;
|
||||||
|
|
||||||
for (; *options; options = &(*options)->next)
|
for (; *options; options = &(*options)->next)
|
||||||
;
|
;
|
||||||
*options = calloc(sizeof(**options), 1);
|
*options = calloc(sizeof(**options), 1);
|
||||||
if (!*options) /* Yeesh. */
|
if (!*options) /* Yeesh. */
|
||||||
return;
|
return NULL;
|
||||||
(*options)->key = strdup(key);
|
(*options)->key = strdup(key);
|
||||||
(*options)->value = strdup(value);
|
(*options)->value = strdup(value);
|
||||||
(*options)->next = NULL;
|
(*options)->next = NULL;
|
||||||
|
|
||||||
|
return *options;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue