]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/ua_tree.c
Add full lenght time modifiers + require resource names to be unique
[bacula/bacula] / bacula / src / dird / ua_tree.c
index a09ffdff0df38e5abc5396042222ab2d94059dc3..29db4a832dd91ebddf45b2ea66909b2f23dbd3d5 100644 (file)
@@ -136,7 +136,7 @@ int insert_tree_handler(void *ctx, int num_fields, char **row)
    int type;
 
    strip_trailing_junk(row[1]);
-   if (*row[1] == 0) {
+   if (*row[1] == 0) {               /* no filename => directory */
       if (*row[0] != '/') {           /* Must be Win32 directory */
         type = TN_DIR_NLS;
       } else {
@@ -145,7 +145,7 @@ int insert_tree_handler(void *ctx, int num_fields, char **row)
    } else {
       type = TN_FILE;
    }
-   bsnprintf(fname, sizeof(fname), "%s%s", row[0]?row[0]:"", row[1]?row[1]:"");
+   bsnprintf(fname, sizeof(fname), "%s%s", row[0], row[1]);
    if (tree->avail_node) {
       node = tree->avail_node;
    } else {
@@ -384,8 +384,8 @@ static int cdcmd(UAContext *ua, TREE_CTX *tree)
    if (!node) {
       /* Try once more if Win32 drive -- make absolute */
       if (ua->argk[1][1] == ':') {  /* win32 drive */
-         strcpy(cwd, "/");
-        strcat(cwd, ua->argk[1]);
+         bstrncpy(cwd, "/", sizeof(cwd));
+        bstrncat(cwd, ua->argk[1], sizeof(cwd));
         node = tree_cwd(cwd, tree->root, tree->node);
       }
       if (!node) {