From c3585fb422869dc6a182e299b5df97bb44eb8804 Mon Sep 17 00:00:00 2001 From: Martin Hecht <mrbaseman@gmx.de> Date: Thu, 14 Jun 2018 15:04:50 +0200 Subject: [PATCH] treat carriage returns as white space (might solve #129) (#334) introduce iswhitespace_like inline function --- src/config.c | 8 ++++---- src/config.h | 6 ++++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/config.c b/src/config.c index ab97857..e6a40e7 100644 --- a/src/config.c +++ b/src/config.c @@ -135,19 +135,19 @@ int load_config(struct vpn_config *cfg, const char *filename) val = equals + 1; // Remove heading spaces - while (key[0] != '\0' && (key[0] == ' ' || key[0] == '\t')) + while (iswhitespace_like(key[0])) key++; - while (val[0] != '\0' && (val[0] == ' ' || val[0] == '\t')) + while (iswhitespace_like(val[0])) val++; // Remove trailing spaces for (i = strlen(key) - 1; i > 0; i--) { - if (key[i] == ' ' || key[i] == '\t') + if (iswhitespace_like(key[i])) key[i] = '\0'; else break; } for (i = strlen(val) - 1; i > 0; i--) { - if (val[i] == ' ' || val[i] == '\t') + if (iswhitespace_like(val[i])) val[i] = '\0'; else break; diff --git a/src/config.h b/src/config.h index b0fae83..ab0eedb 100644 --- a/src/config.h +++ b/src/config.h @@ -91,4 +91,10 @@ int strtob(const char *str); int load_config(struct vpn_config *cfg, const char *filename); +inline int iswhitespace_like(const char character) +{ + return (character != '\0' \ + && (character == ' ' || character == '\t' || character == '\r')); +} + #endif -- GitLab