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);
|
||||
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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue