summaryrefslogtreecommitdiff
path: root/0009-Trim-whitespaces-when-reading-configuration.patch
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2024-07-15 09:01:07 +0000
committerCoprDistGit <infra@openeuler.org>2024-07-15 09:01:07 +0000
commita69ae46c92199effdb2f0903e5416af42fd8ad69 (patch)
tree3700124d2256f460e93567fa6f3cfa6ec0d44787 /0009-Trim-whitespaces-when-reading-configuration.patch
parent908f6497506278a654656b2ed78b9cf08a892218 (diff)
Diffstat (limited to '0009-Trim-whitespaces-when-reading-configuration.patch')
-rw-r--r--0009-Trim-whitespaces-when-reading-configuration.patch99
1 files changed, 99 insertions, 0 deletions
diff --git a/0009-Trim-whitespaces-when-reading-configuration.patch b/0009-Trim-whitespaces-when-reading-configuration.patch
new file mode 100644
index 0000000..97f3e4f
--- /dev/null
+++ b/0009-Trim-whitespaces-when-reading-configuration.patch
@@ -0,0 +1,99 @@
+From d024bc27cee40f21e6a3841266062408c44e56fb Mon Sep 17 00:00:00 2001
+From: Martin Sehnoutka <msehnout@redhat.com>
+Date: Wed, 7 Sep 2016 10:35:54 +0200
+Subject: [PATCH 09/59] Trim whitespaces when reading configuration.
+
+---
+ parseconf.c | 2 +-
+ str.c | 12 ++++++++++++
+ str.h | 1 +
+ sysutil.c | 12 ++++++++++++
+ sysutil.h | 1 +
+ 5 files changed, 27 insertions(+), 1 deletion(-)
+
+diff --git a/parseconf.c b/parseconf.c
+index 385afd2..30df598 100644
+--- a/parseconf.c
++++ b/parseconf.c
+@@ -280,7 +280,7 @@ vsf_parseconf_load_setting(const char* p_setting, int errs_fatal)
+ }
+ else
+ {
+- *p_curr_setting = str_strdup(&s_value_str);
++ *p_curr_setting = str_strdup_trimmed(&s_value_str);
+ }
+ return;
+ }
+diff --git a/str.c b/str.c
+index ba4b92a..41b27db 100644
+--- a/str.c
++++ b/str.c
+@@ -104,6 +104,18 @@ str_strdup(const struct mystr* p_str)
+ return vsf_sysutil_strdup(str_getbuf(p_str));
+ }
+
++const char*
++str_strdup_trimmed(const struct mystr* p_str)
++{
++ const char* p_trimmed = str_getbuf(p_str);
++ int h, t, newlen;
++
++ for (h = 0; h < (int)str_getlen(p_str) && vsf_sysutil_isspace(p_trimmed[h]); h++) ;
++ for (t = str_getlen(p_str) - 1; t >= 0 && vsf_sysutil_isspace(p_trimmed[t]); t--) ;
++ newlen = t - h + 1;
++ return newlen ? vsf_sysutil_strndup(p_trimmed+h, (unsigned int)newlen) : 0L;
++}
++
+ void
+ str_alloc_alt_term(struct mystr* p_str, const char* p_src, char term)
+ {
+diff --git a/str.h b/str.h
+index 3a21b50..44270da 100644
+--- a/str.h
++++ b/str.h
+@@ -31,6 +31,7 @@ void str_alloc_ulong(struct mystr* p_str, unsigned long the_ulong);
+ void str_alloc_filesize_t(struct mystr* p_str, filesize_t the_filesize);
+ void str_copy(struct mystr* p_dest, const struct mystr* p_src);
+ const char* str_strdup(const struct mystr* p_str);
++const char* str_strdup_trimmed(const struct mystr* p_str);
+ void str_empty(struct mystr* p_str);
+ void str_free(struct mystr* p_str);
+ void str_trunc(struct mystr* p_str, unsigned int trunc_len);
+diff --git a/sysutil.c b/sysutil.c
+index 5cdb6ef..428a34a 100644
+--- a/sysutil.c
++++ b/sysutil.c
+@@ -1035,6 +1035,18 @@ vsf_sysutil_strdup(const char* p_str)
+ return strdup(p_str);
+ }
+
++char*
++vsf_sysutil_strndup(const char* p_str, unsigned int p_len)
++{
++ char *new = (char *)malloc(p_len+1);
++
++ if (new == NULL)
++ return NULL;
++
++ new[p_len]='\0';
++ return (char *)memcpy(new, p_str, p_len);
++}
++
+ void
+ vsf_sysutil_memclr(void* p_dest, unsigned int size)
+ {
+diff --git a/sysutil.h b/sysutil.h
+index c34778c..c2ddd15 100644
+--- a/sysutil.h
++++ b/sysutil.h
+@@ -186,6 +186,7 @@ int vsf_sysutil_wait_get_exitcode(
+ /* Various string functions */
+ unsigned int vsf_sysutil_strlen(const char* p_text);
+ char* vsf_sysutil_strdup(const char* p_str);
++char* vsf_sysutil_strndup(const char* p_str, unsigned int p_len);
+ void vsf_sysutil_memclr(void* p_dest, unsigned int size);
+ void vsf_sysutil_memcpy(void* p_dest, const void* p_src,
+ const unsigned int size);
+--
+2.14.4
+