Add a config_line_prepend() function

This commit is contained in:
Nick Mathewson 2017-04-06 14:18:50 -04:00
parent 06ecb9432f
commit 222122450c
2 changed files with 20 additions and 0 deletions

View File

@ -30,6 +30,24 @@ config_line_append(config_line_t **lst,
(*lst) = newline;
}
/** Helper: allocate a new configuration option mapping 'key' to 'val',
* and prepend it to *<b>lst</b> */
void
config_line_prepend(config_line_t **lst,
const char *key,
const char *val)
{
tor_assert(lst);
config_line_t *newline;
newline = tor_malloc_zero(sizeof(config_line_t));
newline->key = tor_strdup(key);
newline->value = tor_strdup(val);
newline->next = *lst;
*lst = newline;
}
/** Return the first line in <b>lines</b> whose key is exactly <b>key</b>, or
* NULL if no such key exists.
*

View File

@ -31,6 +31,8 @@ typedef struct config_line_t {
void config_line_append(config_line_t **lst,
const char *key, const char *val);
void config_line_prepend(config_line_t **lst,
const char *key, const char *val);
config_line_t *config_lines_dup(const config_line_t *inp);
config_line_t *config_lines_dup_and_filter(const config_line_t *inp,
const char *key);