From d904f1eb5c4f9e3121b7f404bf0af773cb191199 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Wed, 5 Mar 2008 04:00:17 +0000 Subject: [PATCH] alvo's patch for efm - fix escaping. SVN revision: 33926 --- src/bin/e_utils.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/bin/e_utils.c b/src/bin/e_utils.c index 71cfb1759..4a35e9847 100644 --- a/src/bin/e_utils.c +++ b/src/bin/e_utils.c @@ -592,15 +592,24 @@ e_util_filename_escape(const char *filename) while (*p) { if ((q - buf) > 4090) return NULL; - if ( + if (*p == '\'') + { + *q= '\''; + q++; + *q = '\\'; + q++; + *q= '\''; + q++; + } + else if ( (*p == ' ') || (*p == '\t') || (*p == '\n') || - (*p == '\\') || (*p == '\'') || (*p == '\"') || + (*p == '\\') || (*p == '\"') || (*p == '\?') || (*p == ';') || (*p == '!') || (*p == '#') || (*p == '$') || (*p == '%') || (*p == '&') || (*p == '*') || (*p == '(') || (*p == ')') || (*p == '[') || (*p == ']') || (*p == '{') || (*p == '}') || (*p == '|') || (*p == '<') || - (*p == '>') || (*p == '?') + (*p == '>') ) { *q = '\\';