]> git.sur5r.net Git - bacula/bacula/commitdiff
bvfs: fix filter for pattern= bvfs parameter
authorEric Bollengier <eric@eb.homelinux.org>
Mon, 31 Oct 2011 15:38:34 +0000 (16:38 +0100)
committerKern Sibbald <kern@sibbald.com>
Sat, 20 Apr 2013 12:50:11 +0000 (14:50 +0200)
bacula/src/cats/bvfs.c
bacula/src/cats/bvfs.h
bacula/src/cats/sql_cmds.c

index 0e75beb8c0fbcfef7c844898f493a07e786bfd59..1cfcc934854c1468862a03da62b621089c8c6bf0 100644 (file)
@@ -660,10 +660,8 @@ bool Bvfs::ls_dirs()
    POOL_MEM query;
    POOL_MEM filter;
    if (*pattern) {
-      int len = strlen(pattern);
-      query.check_size(len*2+1);
-      db_escape_string(jcr, db, query.c_str(), pattern, len);
-      Mmsg(filter, " AND Path2.Path %s '%s' ", match_query[db_get_type_index(db)], query.c_str());
+      Mmsg(filter, " AND Path2.Path %s '%s' ", 
+           match_query[db_get_type_index(db)], pattern);
    }
 
    if (!dir_filenameid) {
@@ -756,10 +754,8 @@ bool Bvfs::ls_files()
 
    edit_uint64(pwd_id, pathid);
    if (*pattern) {
-      int len = strlen(pattern);
-      query.check_size(len*2+1);
-      db_escape_string(jcr, db, query.c_str(), pattern, len);
-      Mmsg(filter, " AND Filename.Name %s '%s' ", match_query[db_get_type_index(db)], query.c_str());
+      Mmsg(filter, " AND Filename.Name %s '%s' ", 
+           match_query[db_get_type_index(db)], pattern);
    }
 
    build_ls_files_query(db, query, 
index 7156874f6a523aeac879a05fb9fb37b7e52b81c8..0d85b2bf62b9a1cc093fb9e71ec4149e561dc710 100644 (file)
@@ -84,8 +84,8 @@ public:
    }
 
    void set_pattern(char *p) {
-      uint32_t len = strlen(p)*2+1;
-      pattern = check_pool_memory_size(pattern, len);
+      uint32_t len = strlen(p);
+      pattern = check_pool_memory_size(pattern, len*2+1);
       db_escape_string(jcr, db, pattern, p, len);
    }
 
index 3c91aa449c4431871b8b4d0d1aa50e217973e6d2..a756dae65c5ec016f08795cdc5dbda456efaadf1 100644 (file)
@@ -1001,7 +1001,7 @@ const char *match_query[] = {
    "~",
 
    /* SQLite3 */
-   "MATCH",
+   "LIKE",                      /* MATCH doesn't seems to work anymore... */
 
    /* Ingres */
    "~"