[tor-commits] [tor/master] Add a config_line_prepend() function

nickm at torproject.org nickm at torproject.org
Mon Apr 24 15:05:42 UTC 2017


commit 222122450c1e879989c440088c01eaa95e4d6980
Author: Nick Mathewson <nickm at torproject.org>
Date:   Thu Apr 6 14:18:50 2017 -0400

    Add a config_line_prepend() function
---
 src/common/confline.c | 18 ++++++++++++++++++
 src/common/confline.h |  2 ++
 2 files changed, 20 insertions(+)

diff --git a/src/common/confline.c b/src/common/confline.c
index 36f4c87..d4468f8 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 c695bf6..477c692 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);





More information about the tor-commits mailing list