]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/expand.c
More create_postgresql_database.in tweaks
[bacula/bacula] / bacula / src / dird / expand.c
index f7d9167b7bd5cf94c207739e6be7fa30dd75f26f..85cee39a8c9b4dab3cf3c3deaa714285004ee71f 100644 (file)
@@ -8,24 +8,32 @@
  *   Version $Id$
  */
 /*
-   Copyright (C) 2003-2004 Kern Sibbald and John Walker
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License as
-   published by the Free Software Foundation; either version 2 of
-   the License, or (at your option) any later version.
+   Copyright (C) 2003-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation and included
+   in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    General Public License for more details.
 
-   You should have received a copy of the GNU General Public
-   License along with this program; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA.
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
 
- */
+   Bacula® is a registered trademark of Kern Sibbald.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 #include "bacula.h"
 #include "dird.h"
@@ -37,7 +45,7 @@ static int date_item(JCR *jcr, int code,
 {
    struct tm tm;
    time_t now = time(NULL);
-   localtime_r(&now, &tm);
+   (void)localtime_r(&now, &tm);
    int val = 0;
    char buf[10];
 
@@ -79,23 +87,23 @@ static int job_item(JCR *jcr, int code,
 
    switch (code) {
    case 1:                            /* Job */
-      str = jcr->job->hdr.name;
+      str = jcr->job->name();
       break;
    case 2:                            /* Director's name */
       str = my_name;
       break;
    case 3:                            /* level */
-      str = job_level_to_str(jcr->JobLevel);
+      str = job_level_to_str(jcr->get_JobLevel());
       break;
    case 4:                            /* type */
-      str = job_type_to_str(jcr->JobType);
+      str = job_type_to_str(jcr->get_JobType());
       break;
    case 5:                            /* JobId */
       bsnprintf(buf, sizeof(buf), "%d", jcr->JobId);
       str = buf;
       break;
    case 6:                            /* Client */
-      str = jcr->client->hdr.name;
+      str = jcr->client->name();
       if (!str) {
          str = " ";
       }
@@ -105,16 +113,24 @@ static int job_item(JCR *jcr, int code,
       str = buf;
       break;
    case 8:                            /* Pool */
-      str = jcr->pool->hdr.name;
+      str = jcr->pool->name();
       break;
    case 9:                            /* Storage */
-      str = jcr->store->hdr.name;
+      if (jcr->wstore) {
+         str = jcr->wstore->name();
+      } else {
+         str = jcr->rstore->name();
+      }
       break;
    case 10:                           /* Catalog */
-      str = jcr->catalog->hdr.name;
+      str = jcr->catalog->name();
       break;
    case 11:                           /* MediaType */
-      str = jcr->store->media_type;
+      if (jcr->wstore) {
+         str = jcr->wstore->media_type;
+      } else {
+         str = jcr->rstore->media_type;
+      }
       break;
    case 12:                           /* JobName */
       str = jcr->Job;
@@ -200,7 +216,7 @@ static var_rc_t lookup_counter_var(var_t *ctx, void *my_ctx,
    buf[var_len] = 0;
    LockRes();
    for (COUNTER *counter=NULL; (counter = (COUNTER *)GetNextRes(R_COUNTER, (RES *)counter)); ) {
-      if (strcmp(counter->hdr.name, buf) == 0) {
+      if (strcmp(counter->name(), buf) == 0) {
          Dmsg2(100, "Counter=%s val=%d\n", buf, counter->CurrentValue);
          /* -1 => return size of array */
         if (var_index == -1) {
@@ -225,19 +241,19 @@ static var_rc_t lookup_counter_var(var_t *ctx, void *my_ctx,
                COUNTER_DBR cr;
                JCR *jcr = (JCR *)my_ctx;
                memset(&cr, 0, sizeof(cr));
-               bstrncpy(cr.Counter, counter->hdr.name, sizeof(cr.Counter));
+               bstrncpy(cr.Counter, counter->name(), sizeof(cr.Counter));
                cr.MinValue = counter->MinValue;
                cr.MaxValue = counter->MaxValue;
                cr.CurrentValue = counter->CurrentValue;
                Dmsg1(100, "New value=%d\n", cr.CurrentValue);
                if (counter->WrapCounter) {
-                  bstrncpy(cr.WrapCounter, counter->WrapCounter->hdr.name, sizeof(cr.WrapCounter));
+                  bstrncpy(cr.WrapCounter, counter->WrapCounter->name(), sizeof(cr.WrapCounter));
                } else {
                   cr.WrapCounter[0] = 0;
                }
                if (!db_update_counter_record(jcr, jcr->db, &cr)) {
                   Jmsg(jcr, M_ERROR, 0, _("Count not update counter %s: ERR=%s\n"),
-                     counter->hdr.name, db_strerror(jcr->db));
+                     counter->name(), db_strerror(jcr->db));
                }
             }
          }
@@ -375,8 +391,8 @@ static var_rc_t operate_var(var_t *var, void *my_ctx,
       Dmsg1(100, "Val=%s\n", buf);
       LockRes();
       for (COUNTER *counter=NULL; (counter = (COUNTER *)GetNextRes(R_COUNTER, (RES *)counter)); ) {
-         if (strcmp(counter->hdr.name, buf) == 0) {
-            Dmsg2(100, "counter=%s val=%s\n", counter->hdr.name, buf);
+         if (strcmp(counter->name(), buf) == 0) {
+            Dmsg2(100, "counter=%s val=%s\n", counter->name(), buf);
             break;
          }
       }