--- /dev/null
+---
+ libmultipath/parser.c | 103 +++-----------------------------------------------
+ libmultipath/parser.h | 6 --
+ 2 files changed, 8 insertions(+), 101 deletions(-)
+
+Index: multipath-tools-130222/libmultipath/parser.c
+===================================================================
+--- multipath-tools-130222.orig/libmultipath/parser.c
++++ multipath-tools-130222/libmultipath/parser.c
+@@ -280,8 +280,8 @@ out:
+ return NULL;
+ }
+
+-int
+-read_line(char *buf, int size)
++static int
++read_line(FILE *stream, char *buf, int size)
+ {
+ int ch;
+ int count = 0;
+@@ -297,95 +297,6 @@ read_line(char *buf, int size)
+ return (ch == EOF) ? 0 : 1;
+ }
+
+-vector
+-read_value_block(void)
+-{
+- char *buf;
+- int i;
+- char *str = NULL;
+- char *dup;
+- vector vec = NULL;
+- vector elements = vector_alloc();
+-
+- if (!elements)
+- return NULL;
+-
+- buf = (char *) MALLOC(MAXBUF);
+-
+- if (!buf) {
+- vector_free(elements);
+- return NULL;
+- }
+-
+- while (read_line(buf, MAXBUF)) {
+- vec = alloc_strvec(buf);
+- if (vec) {
+- str = VECTOR_SLOT(vec, 0);
+- if (!strcmp(str, EOB)) {
+- free_strvec(vec);
+- break;
+- }
+-
+- for (i = 0; i < VECTOR_SIZE(vec); i++) {
+- str = VECTOR_SLOT(vec, i);
+- dup = (char *) MALLOC(strlen(str) + 1);
+- if (!dup)
+- goto out;
+- memcpy(dup, str, strlen(str));
+-
+- if (!vector_alloc_slot(elements)) {
+- free_strvec(vec);
+- goto out1;
+- }
+-
+- vector_set_slot(elements, dup);
+- }
+- free_strvec(vec);
+- }
+- memset(buf, 0, MAXBUF);
+- }
+- FREE(buf);
+- return elements;
+-out1:
+- FREE(dup);
+-out:
+- FREE(buf);
+- vector_free(elements);
+- return NULL;
+-}
+-
+-int
+-alloc_value_block(vector strvec, void (*alloc_func) (vector))
+-{
+- char *buf;
+- char *str = NULL;
+- vector vec = NULL;
+-
+- buf = (char *) MALLOC(MAXBUF);
+-
+- if (!buf)
+- return 1;
+-
+- while (read_line(buf, MAXBUF)) {
+- vec = alloc_strvec(buf);
+- if (vec) {
+- str = VECTOR_SLOT(vec, 0);
+- if (!strcmp(str, EOB)) {
+- free_strvec(vec);
+- break;
+- }
+-
+- if (VECTOR_SIZE(vec))
+- (*alloc_func) (vec);
+-
+- free_strvec(vec);
+- }
+- memset(buf, 0, MAXBUF);
+- }
+- FREE(buf);
+- return 0;
+-}
+-
+ void *
+ set_value(vector strvec)
+ {
+@@ -561,7 +472,7 @@ validate_config_strvec(vector strvec, ch
+ }
+
+ static int
+-process_stream(vector keywords, char *file)
++process_stream(FILE *stream, vector keywords, char *file)
+ {
+ int i;
+ int r = 0;
+@@ -582,7 +493,7 @@ process_stream(vector keywords, char *fi
+ return 1;
+ }
+
+- while (read_line(buf, MAXBUF)) {
++ while (read_line(stream, buf, MAXBUF)) {
+ line_nr++;
+ strvec = alloc_strvec(buf);
+ memset(buf,0, MAXBUF);
+@@ -621,7 +532,8 @@ process_stream(vector keywords, char *fi
+
+ if (keyword->sub) {
+ kw_level++;
+- r += process_stream(keyword->sub, file);
++ r += process_stream(stream,
++ keyword->sub, file);
+ kw_level--;
+ }
+ break;
+@@ -656,6 +568,7 @@ int
+ process_file(char *file)
+ {
+ int r;
++ FILE *stream;
+
+ if (!keywords) {
+ condlog(0, "No keywords alocated");
+@@ -670,7 +583,7 @@ process_file(char *file)
+
+ /* Stream handling */
+ line_nr = 0;
+- r = process_stream(keywords, file);
++ r = process_stream(stream, keywords, file);
+ fclose(stream);
+ //free_keywords(keywords);
+
+Index: multipath-tools-130222/libmultipath/parser.h
+===================================================================
+--- multipath-tools-130222.orig/libmultipath/parser.h
++++ multipath-tools-130222/libmultipath/parser.h
+@@ -47,9 +47,6 @@ struct keyword {
+ int unique;
+ };
+
+-/* global var exported */
+-FILE *stream;
+-
+ /* Reloading helpers */
+ #define SET_RELOAD (reload = 1)
+ #define UNSET_RELOAD (reload = 0)
+@@ -72,9 +69,6 @@ extern int _install_keyword(char *string
+ extern void dump_keywords(vector keydump, int level);
+ extern void free_keywords(vector keywords);
+ extern vector alloc_strvec(char *string);
+-extern int read_line(char *buf, int size);
+-extern vector read_value_block(void);
+-extern int alloc_value_block(vector strvec, void (*alloc_func) (vector));
+ extern void *set_value(vector strvec);
+ extern int alloc_keywords(void);
+ extern int process_file(char *conf_file);