diff options
Diffstat (limited to 'firmware/common/pathfuncs.c')
-rw-r--r-- | firmware/common/pathfuncs.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/firmware/common/pathfuncs.c b/firmware/common/pathfuncs.c index 4410275adb..1ee5fe9886 100644 --- a/firmware/common/pathfuncs.c +++ b/firmware/common/pathfuncs.c | |||
@@ -202,12 +202,15 @@ int path_strip_drive(const char *name, const char **nameptr, bool greedy) | |||
202 | */ | 202 | */ |
203 | size_t path_trim_whitespace(const char *name, const char **nameptr) | 203 | size_t path_trim_whitespace(const char *name, const char **nameptr) |
204 | { | 204 | { |
205 | /* NOTE: this won't currently treat DEL (0x7f) as non-printable */ | ||
206 | const unsigned char *p = name; | ||
205 | int c; | 207 | int c; |
206 | while ((c = *name) <= ' ' && c) | ||
207 | ++name; | ||
208 | 208 | ||
209 | const char *first = name; | 209 | while ((c = *p) <= ' ' && c) |
210 | const char *last = name; | 210 | ++p; |
211 | |||
212 | const unsigned char *first = p; | ||
213 | const unsigned char *last = p; | ||
211 | 214 | ||
212 | while (1) | 215 | while (1) |
213 | { | 216 | { |
@@ -217,9 +220,9 @@ size_t path_trim_whitespace(const char *name, const char **nameptr) | |||
217 | return last - first; | 220 | return last - first; |
218 | } | 221 | } |
219 | 222 | ||
220 | while ((c = *++name) > ' '); | 223 | while ((c = *++p) > ' '); |
221 | last = name; | 224 | last = p; |
222 | while (c == ' ') c = *++name; | 225 | while (c == ' ') c = *++p; |
223 | } | 226 | } |
224 | } | 227 | } |
225 | 228 | ||