X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=bacula%2Fsrc%2Fdird%2Fexpand.c;h=85cee39a8c9b4dab3cf3c3deaa714285004ee71f;hb=a80e5ce0c2e9476c9ce7d8a641b6f3e56f5d3735;hp=f7d9167b7bd5cf94c207739e6be7fa30dd75f26f;hpb=2d6309754e7a3ef719e8e950d5677f29ff53d1e5;p=bacula%2Fbacula diff --git a/bacula/src/dird/expand.c b/bacula/src/dird/expand.c index f7d9167b7b..85cee39a8c 100644 --- a/bacula/src/dird/expand.c +++ b/bacula/src/dird/expand.c @@ -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; } }