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