have_date = true;
break;
case 2: /* before */
- if (!has_value(ua, i)) {
+ if (have_date || !has_value(ua, i)) {
return 0;
}
if (str_to_utime(ua->argv[i]) == 0) {
done = false;
break;
case 4: /* Select the most recent backups */
- bstrutime(date, sizeof(date), now);
+ if (!have_date) {
+ bstrutime(date, sizeof(date), now);
+ }
if (!select_backups_before_date(ua, rx, date)) {
return 0;
}
break;
case 5: /* select backup at specified time */
- if (!get_date(ua, date, sizeof(date))) {
- return 0;
+ if (!have_date) {
+ if (!get_date(ua, date, sizeof(date))) {
+ return 0;
+ }
}
if (!select_backups_before_date(ua, rx, date)) {
return 0;
}
break;
case 6: /* Enter files */
- bstrutime(date, sizeof(date), now);
+ if (!have_date) {
+ bstrutime(date, sizeof(date), now);
+ }
if (!get_client_name(ua, rx)) {
return 0;
}
}
return 2;
case 7: /* enter files backed up before specified time */
- if (!get_date(ua, date, sizeof(date))) {
- return 0;
+ if (!have_date) {
+ if (!get_date(ua, date, sizeof(date))) {
+ return 0;
+ }
}
if (!get_client_name(ua, rx)) {
return 0;
return 2;
case 8: /* Find JobIds for current backup */
- bstrutime(date, sizeof(date), now);
+ if (!have_date) {
+ bstrutime(date, sizeof(date), now);
+ }
if (!select_backups_before_date(ua, rx, date)) {
return 0;
}
break;
case 9: /* Find JobIds for give date */
- if (!get_date(ua, date, sizeof(date))) {
- return 0;
+ if (!have_date) {
+ if (!get_date(ua, date, sizeof(date))) {
+ return 0;
+ }
}
if (!select_backups_before_date(ua, rx, date)) {
return 0;
if (*rx->JobIds == 0 || *rx->JobIds == '.') {
return 0; /* nothing entered, return */
}
- bstrutime(date, sizeof(date), now);
+ if (!have_date) {
+ bstrutime(date, sizeof(date), now);
+ }
if (!get_client_name(ua, rx)) {
return 0;
}
if ((ffd = fopen(p, "rb")) == NULL) {
berrno be;
ua->error_msg(_("Cannot open file %s: ERR=%s\n"),
- p, be.strerror());
+ p, be.bstrerror());
break;
}
while (fgets(file, sizeof(file), ffd)) {
char pool_select[MAX_NAME_LENGTH];
int i;
-
/* Create temp tables */
db_sql_query(ua->db, uar_del_temp, NULL, NULL);
db_sql_query(ua->db, uar_del_temp1, NULL, NULL);
ua->error_msg("%s\n", db_strerror(ua->db));
goto bail_out;
}
+
/* Note, this is needed because I don't seem to get the callback
* from the call just above.
*/