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