* Fixed bash escaping of single quote characters inside single quoted strings. master
authorUrban Wallasch <urban.wallasch@freenet.de>
Tue, 6 Jul 2021 16:50:17 +0000 (18:50 +0200)
committerUrban Wallasch <urban.wallasch@freenet.de>
Tue, 6 Jul 2021 16:58:52 +0000 (18:58 +0200)
main.c

diff --git a/main.c b/main.c
index 6677ab1bf8e50fe96a1108d9f72b8902324e1706..ddd78e0b32997076816edb70429fac547d02f65b 100644 (file)
--- a/main.c
+++ b/main.c
@@ -152,8 +152,9 @@ static int find_dupes_cb(db_entry_t *dupes) {
         for ( const char *cp = p->fname; '\0' != *cp; ++cp ) {
             /* escape single quotes in file names */
             if ( '\'' == *cp )
         for ( const char *cp = p->fname; '\0' != *cp; ++cp ) {
             /* escape single quotes in file names */
             if ( '\'' == *cp )
-                putchar('\\');
-            putchar(*cp);
+                printf("'\\''");
+            else
+                putchar(*cp);
         }
         putchar('\'');
     }
         }
         putchar('\'');
     }