From 3555e84a7a0ce769305cbd19fc145619c5f7615b Mon Sep 17 00:00:00 2001 From: Dana Conrad Date: Wed, 7 Dec 2022 20:33:02 -0600 Subject: Bugfix: some settings can have spaces in them 90bc769 strips spaces from the settings value, but it goes to the first space rather than just stripping off the last one. Break out of the loop when we find the first non-space character. Also change 0 to '\0' for readability. Change-Id: I915b82a6d1603740998a67c575d08005456ffbd8 --- apps/misc.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/apps/misc.c b/apps/misc.c index 63a3a2a6eb..950662d19a 100644 --- a/apps/misc.c +++ b/apps/misc.c @@ -268,17 +268,18 @@ bool settings_parseline(char* line, char** name, char** value) return false; *name = line; - *ptr = 0; + *ptr = '\0'; /* terminate previous */ ptr++; ptr = skip_whitespace(ptr); *value = ptr; /* strip whitespace from the right side of value */ ptr += strlen(ptr); - for (ptr--; ptr >= *value; ptr--) + ptr--; + while ((ptr > (*value) - 1) && isspace(*ptr)) { - if (isspace(*ptr)) - *ptr = '\0'; + *ptr = '\0'; + ptr--; } return true; -- cgit v1.2.3