diff options
-rw-r--r-- | src/rename_device.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/rename_device.c b/src/rename_device.c index bb5e6b8f..f45e996c 100644 --- a/src/rename_device.c +++ b/src/rename_device.c @@ -27,6 +27,7 @@ #include <stdlib.h> #include <string.h> #include <unistd.h> +#include <ctype.h> #include <sys/ioctl.h> #include <sys/time.h> @@ -120,13 +121,19 @@ int isCfg(const struct dirent *dent) { } static inline char *dequote(char *start, char *end) { - char *c; - //remove comments and trailing whitespace - c = strchr(start, '#'); - if (c!=NULL) - *c='\0'; + char *c; + //remove comments and trailing whitespace + for (c = start; c && *c; c++) { + c = strchr(c, '#'); + if (!c) + break; + if (c > start && isblank(*(c-1))) { + *c = '\0'; + break; + } + } - g_strchomp(start); + g_strchomp(start); if (end==NULL) { end=start; |