+ /* Returns -1 on error, 0 on missing dir, and 1 on present dir. */
+-static int validate_backup_dir(void)
++static int validate_backup_dir(const char *buf)
+ {
+ STRUCT_STAT st;
+
+- if (do_lstat(backup_dir_buf, &st) < 0) {
++ if (do_lstat(buf, &st) < 0) {
+ if (errno == ENOENT)
+ return 0;
+- rsyserr(FERROR, errno, "backup lstat %s failed", backup_dir_buf);
++ rsyserr(FERROR, errno, "backup lstat %s failed", buf);
+ return -1;
+ }
+ if (!S_ISDIR(st.st_mode)) {
+ int flags = get_del_for_flag(st.st_mode) | DEL_FOR_BACKUP | DEL_RECURSE;
+- if (delete_item(backup_dir_buf, st.st_mode, flags) == 0)
++ if (delete_item(buf, st.st_mode, flags) == 0)
+ return 0;
+ return -1;
+ }
+@@ -58,20 +65,20 @@ static int validate_backup_dir(void)