diff options
author | Nick Mathewson <nickm@torproject.org> | 2017-04-06 14:18:50 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2017-04-15 11:21:32 -0400 |
commit | 222122450c1e879989c440088c01eaa95e4d6980 (patch) | |
tree | 9266a96dffe2f1dd953124f27f54a3e27b772e3f /src | |
parent | 06ecb9432f4596f10e73f82bb1ff6677060756f9 (diff) | |
download | tor-222122450c1e879989c440088c01eaa95e4d6980.tar.gz tor-222122450c1e879989c440088c01eaa95e4d6980.zip |
Add a config_line_prepend() function
Diffstat (limited to 'src')
-rw-r--r-- | src/common/confline.c | 18 | ||||
-rw-r--r-- | src/common/confline.h | 2 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/common/confline.c b/src/common/confline.c index 36f4c875f3..d4468f80ea 100644 --- a/src/common/confline.c +++ b/src/common/confline.c @@ -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. * diff --git a/src/common/confline.h b/src/common/confline.h index c695bf6b23..477c6929a2 100644 --- a/src/common/confline.h +++ b/src/common/confline.h @@ -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); |