]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Add a config_line_prepend() function
authorNick Mathewson <nickm@torproject.org>
Thu, 6 Apr 2017 18:18:50 +0000 (14:18 -0400)
committerNick Mathewson <nickm@torproject.org>
Sat, 15 Apr 2017 15:21:32 +0000 (11:21 -0400)
src/common/confline.c
src/common/confline.h

index 36f4c875f32fcaa3d709731ff130b0db10448056..d4468f80ea5a7b631504803ddd46ff8249b8a9a9 100644 (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.
  *
index c695bf6b239d9b9d8eeeee8bc7c30c9b92f9dcac..477c6929a25c2af5c51e46c828315a2c3a67124a 100644 (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);