]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/lib/bsys.c
Ignore UTF-8 marker at the start of .conf files.
[bacula/bacula] / bacula / src / lib / bsys.c
index a4dc7231aabdb5f9e060da4c8806bbaa395a8405..2869a3fa299e22d46c8f1067351b475c07e75fb2 100644 (file)
@@ -744,3 +744,27 @@ void make_unique_filename(POOLMEM **name, int Id, char *what)
 {
    Mmsg(name, "%s/%s.%s.%d.tmp", working_directory, my_name, what, Id);
 }
+
+char *escape_filename(const char *file_path)
+{
+   if (file_path == NULL || strpbrk(file_path, "\"\\") == NULL) {
+      return NULL;
+   }
+
+   char *escaped_path = (char *)bmalloc(2 * (strlen(file_path) + 1));
+   char *cur_char = escaped_path;
+
+   while (*file_path) {
+      if (*file_path == '\\' || *file_path == '"') {
+         *cur_char++ = '\\';
+      }
+
+      *cur_char++ = *file_path++;
+   }
+
+   *cur_char = '\0';
+
+   return escaped_path;
+}
+
+