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:
Peter Hutterer 2011-08-09 11:20:31 +10:00
parent e684e816ac
commit d33652dad8
2 changed files with 11 additions and 4 deletions

View File

@ -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);

View File

@ -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;
}