]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/ua_select.c
Ensure that StorageId is updated after write
[bacula/bacula] / bacula / src / dird / ua_select.c
index e67032213760005807d0229ba2e60781a4ffe2d2..23b75b4f1954aaa7140388de0f7a217c9d100518 100644 (file)
@@ -1,7 +1,7 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2001-2009 Free Software Foundation Europe e.V.
+   Copyright (C) 2001-2012 Free Software Foundation Europe e.V.
 
    The main author of Bacula is Kern Sibbald, with contributions from
    many others, a complete list can be found in the file AUTHORS.
@@ -299,7 +299,7 @@ JOB *select_job_resource(UAContext *ua)
 JOB *get_restore_job(UAContext *ua)
 {
    JOB *job;
-   int i = find_arg_with_value(ua, "restore_job");
+   int i = find_arg_with_value(ua, "restorejob");
    if (i >= 0 && acl_access_ok(ua, Job_ACL, ua->argv[i])) {
       job = (JOB *)GetResWithName(R_JOB, ua->argv[i]);
       if (job && job->JobType == JT_RESTORE) {
@@ -598,11 +598,11 @@ int select_pool_and_media_dbr(UAContext *ua, POOL_DBR *pr, MEDIA_DBR *mr)
 int select_media_dbr(UAContext *ua, MEDIA_DBR *mr)
 {
    int i;
-
    int ret = 0;
    POOLMEM *err = get_pool_memory(PM_FNAME);
-   memset(mr, 0, sizeof(MEDIA_DBR));
+   *err=0;
 
+   mr->clear();
    i = find_arg_with_value(ua, "volume");
    if (i >= 0) {
       if (is_name_valid(ua->argv[i], &err)) {
@@ -639,7 +639,7 @@ int select_media_dbr(UAContext *ua, MEDIA_DBR *mr)
    ret = 1;
 
 bail_out:
-   if (*err) {
+   if (!ret && *err) {
       ua->error_msg("%s", err);
    }
    free_pool_memory(err);
@@ -1078,7 +1078,7 @@ bool get_level_from_name(JCR *jcr, const char *level_name)
    bool found = false;
    for (int i=0; joblevels[i].level_name; i++) {
       if (strcasecmp(level_name, joblevels[i].level_name) == 0) {
-         jcr->set_JobLevel(joblevels[i].level);
+         jcr->setJobLevel(joblevels[i].level);
          found = true;
          break;
       }