extern char *uar_jobid_fileindex_from_dir;
-struct NAME_LIST {
- char **name; /* list of names */
- int num_ids; /* ids stored */
- int max_ids; /* size of array */
- int num_del; /* number deleted */
- int tot_ids; /* total to process */
-};
-
-
-/* Main structure for obtaining JobIds or Files to be restored */
-struct RESTORE_CTX {
- utime_t JobTDate;
- uint32_t TotalFiles;
- uint32_t JobId;
- char ClientName[MAX_NAME_LENGTH];
- char last_jobid[20];
- POOLMEM *JobIds; /* User entered string of JobIds */
- STORE *store;
- JOB *restore_job;
- POOL *pool;
- int restore_jobs;
- uint32_t selected_files;
- char *where;
- RBSR *bsr;
- POOLMEM *fname; /* filename only */
- POOLMEM *path; /* path only */
- POOLMEM *query;
- int fnl; /* filename length */
- int pnl; /* path length */
- bool found;
- bool all; /* mark all as default */
- NAME_LIST name_list;
-};
-
-
-#define MAX_ID_LIST_LEN 1000000
-
/* Forward referenced functions */
static int last_full_handler(void *ctx, int num_fields, char **row);
static int jobid_handler(void *ctx, int num_fields, char **row);
-static int get_next_jobid_from_list(char **p, uint32_t *JobId);
static int user_select_jobids_or_files(UAContext *ua, RESTORE_CTX *rx);
static int fileset_handler(void *ctx, int num_fields, char **row);
static void print_name_list(UAContext *ua, NAME_LIST *name_list);
bsendmsg(ua, _("Unable to construct a valid BSR. Cannot continue.\n"));
goto bail_out;
}
- if (!(selected_files = write_bsr_file(ua, rx.bsr))) {
+ if (!(selected_files = write_bsr_file(ua, rx))) {
bsendmsg(ua, _("No files selected to be restored.\n"));
goto bail_out;
}
/* Return next JobId from comma separated list */
-static int get_next_jobid_from_list(char **p, uint32_t *JobId)
+int get_next_jobid_from_list(char **p, JobId_t *JobId)
{
char jobid[30];
char *q = *p;