X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fdird%2Fua_restore.c;h=a625da14c9d40e076111b73fff87e5afe53958a7;hb=3f8a3a045ea058657030f588a10f786449d00e0d;hp=9fd21a4e7264d47024e8682312d86a8458b7aac4;hpb=f2dfd500c0acf5ec87f363bc40cddf51b1c1ba7c;p=bacula%2Fbacula diff --git a/bacula/src/dird/ua_restore.c b/bacula/src/dird/ua_restore.c index 9fd21a4e72..a625da14c9 100644 --- a/bacula/src/dird/ua_restore.c +++ b/bacula/src/dird/ua_restore.c @@ -13,7 +13,7 @@ * Version $Id$ */ /* - Copyright (C) 2002-2005 Kern Sibbald + Copyright (C) 2002-2006 Kern Sibbald This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License @@ -81,7 +81,7 @@ int restore_cmd(UAContext *ua, const char *cmd) RESTORE_CTX rx; /* restore context */ JOB *job; int i; - POOLMEM *fname; + JCR *jcr = ua->jcr; memset(&rx, 0, sizeof(rx)); rx.path = get_pool_memory(PM_FNAME); @@ -177,23 +177,20 @@ int restore_cmd(UAContext *ua, const char *cmd) } /* Build run command */ - fname = get_pool_memory(PM_MESSAGE); - make_unique_restore_filename(ua, &fname); if (rx.where) { Mmsg(ua->cmd, "run job=\"%s\" client=\"%s\" storage=\"%s\" bootstrap=\"%s\"" " where=\"%s\" files=%d catalog=\"%s\"", job->hdr.name, rx.ClientName, rx.store?rx.store->hdr.name:"", - fname, rx.where, rx.selected_files, ua->catalog->hdr.name); + jcr->RestoreBootstrap, rx.where, rx.selected_files, ua->catalog->hdr.name); } else { Mmsg(ua->cmd, "run job=\"%s\" client=\"%s\" storage=\"%s\" bootstrap=\"%s\"" " files=%d catalog=\"%s\"", job->hdr.name, rx.ClientName, rx.store?rx.store->hdr.name:"", - fname, rx.selected_files, ua->catalog->hdr.name); + jcr->RestoreBootstrap, rx.selected_files, ua->catalog->hdr.name); } - free_pool_memory(fname); - if (find_arg(ua, N_("yes")) > 0) { + if (find_arg(ua, NT_("yes")) > 0) { pm_strcat(ua->cmd, " yes"); /* pass it on to the run command */ } Dmsg1(100, "Submitting: %s\n", ua->cmd); @@ -246,7 +243,7 @@ static int get_client_name(UAContext *ua, RESTORE_CTX *rx) if (!rx->ClientName[0]) { CLIENT_DBR cr; /* try command line argument */ - int i = find_arg_with_value(ua, N_("client")); + int i = find_arg_with_value(ua, NT_("client")); if (i >= 0) { if (!has_value(ua, i)) { return 0; @@ -499,7 +496,7 @@ static int user_select_jobids_or_files(UAContext *ua, RESTORE_CTX *rx) return 0; } bsendmsg(ua, _("Enter file names with paths, or < to enter a filename\n" - "containg a list of file names with paths, and terminate\n" + "containing a list of file names with paths, and terminate\n" "them with a blank line.\n")); for ( ;; ) { if (!get_cmd(ua, _("Enter full filename: "))) { @@ -524,7 +521,7 @@ static int user_select_jobids_or_files(UAContext *ua, RESTORE_CTX *rx) return 0; } bsendmsg(ua, _("Enter file names with paths, or < to enter a filename\n" - "containg a list of file names with paths, and terminate\n" + "containing a list of file names with paths, and terminate\n" "them with a blank line.\n")); for ( ;; ) { if (!get_cmd(ua, _("Enter full filename: "))) { @@ -578,7 +575,7 @@ static int user_select_jobids_or_files(UAContext *ua, RESTORE_CTX *rx) return 0; } bsendmsg(ua, _("Enter full directory names or start the name\n" - "with a < to indicate it is a filename containg a list\n" + "with a < to indicate it is a filename containing a list\n" "of directories and terminate them with a blank line.\n")); for ( ;; ) { if (!get_cmd(ua, _("Enter directory name: "))) { @@ -725,7 +722,7 @@ static bool insert_file_into_findex_list(UAContext *ua, RESTORE_CTX *rx, char *f { char ed1[50]; - strip_trailing_junk(file); + strip_trailing_newline(file); split_path_and_filename(rx, file); if (*rx->JobIds == 0) { Mmsg(rx->query, uar_jobid_fileindex, date, rx->path, rx->fname, @@ -974,7 +971,7 @@ static bool build_directory_tree(UAContext *ua, RESTORE_CTX *rx) /* Check MediaType and select storage that corresponds */ get_storage_from_mediatype(ua, &rx->name_list, rx); - if (find_arg(ua, N_("done")) < 0) { + if (find_arg(ua, NT_("done")) < 0) { /* Let the user interact in selecting which files to restore */ OK = user_select_files_from_tree(&tree); } @@ -1153,7 +1150,14 @@ bail_out: } -/* Return next JobId from comma separated list */ +/* + * Return next JobId from comma separated list + * + * Returns: + * 1 if next JobId returned + * 0 if no more JobIds are in list + * -1 there is an error + */ int get_next_jobid_from_list(char **p, JobId_t *JobId) { char jobid[30];