X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fdird%2Fadmin.c;h=3cce05617aaeb6dd4dc012f607f5414329bf3810;hb=44566f589dd96e4414e38ec4bf7d76b22fbcd9aa;hp=746f629b4fa52834215f9702ea18cc057f2b3d8a;hpb=067183227472a9aadc841d14589c7ae79cea4506;p=bacula%2Fbacula diff --git a/bacula/src/dird/admin.c b/bacula/src/dird/admin.c index 746f629b4f..3cce05617a 100644 --- a/bacula/src/dird/admin.c +++ b/bacula/src/dird/admin.c @@ -11,22 +11,17 @@ */ /* - Copyright (C) 2000-2004 Kern Sibbald and John Walker + Copyright (C) 2003-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 as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. + modify it under the terms of the GNU General Public License + version 2 as amended with additional clauses defined in the + file LICENSE in the main source directory. 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. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + the file LICENSE for additional details. */ @@ -35,44 +30,37 @@ #include "ua.h" -/* Forward referenced functions */ -static void admin_cleanup(JCR *jcr, int TermCode); - -/* External functions */ +bool do_admin_init(JCR *jcr) +{ + free_rstorage(jcr); + return true; +} -/* - * Returns: 0 on failure - * 1 on success +/* + * Returns: false on failure + * true on success */ -int do_admin(JCR *jcr) +bool do_admin(JCR *jcr) { jcr->jr.JobId = jcr->JobId; - jcr->jr.StartTime = jcr->start_time; - if (!db_update_job_start_record(jcr, jcr->db, &jcr->jr)) { - Jmsg(jcr, M_ERROR, 0, "%s", db_strerror(jcr->db)); - goto bail_out; - } jcr->fname = (char *)get_pool_memory(PM_FNAME); /* Print Job Start message */ Jmsg(jcr, M_INFO, 0, _("Start Admin JobId %d, Job=%s\n"), - jcr->JobId, jcr->Job); + jcr->JobId, jcr->Job); set_jcr_job_status(jcr, JS_Running); admin_cleanup(jcr, JS_Terminated); - return 0; - -bail_out: - admin_cleanup(jcr, JS_ErrorTerminated); - return 0; + return true; } + /* * Release resources allocated during backup. */ -static void admin_cleanup(JCR *jcr, int TermCode) +void admin_cleanup(JCR *jcr, int TermCode) { char sdt[50], edt[50]; char term_code[100]; @@ -84,23 +72,23 @@ static void admin_cleanup(JCR *jcr, int TermCode) memset(&mr, 0, sizeof(mr)); set_jcr_job_status(jcr, TermCode); - update_job_end_record(jcr); /* update database */ - + update_job_end_record(jcr); /* update database */ + if (!db_get_job_record(jcr, jcr->db, &jcr->jr)) { - Jmsg(jcr, M_WARNING, 0, _("Error getting job record for stats: %s"), - db_strerror(jcr->db)); + Jmsg(jcr, M_WARNING, 0, _("Error getting job record for stats: %s"), + db_strerror(jcr->db)); set_jcr_job_status(jcr, JS_ErrorTerminated); } - msg_type = M_INFO; /* by default INFO message */ + msg_type = M_INFO; /* by default INFO message */ switch (jcr->JobStatus) { case JS_Terminated: term_msg = _("Admin OK"); break; case JS_FatalError: case JS_ErrorTerminated: - term_msg = _("*** Admin Error ***"); - msg_type = M_ERROR; /* Generate error message */ + term_msg = _("*** Admin Error ***"); + msg_type = M_ERROR; /* Generate error message */ break; case JS_Canceled: term_msg = _("Admin Canceled"); @@ -113,18 +101,18 @@ static void admin_cleanup(JCR *jcr, int TermCode) bstrftime(sdt, sizeof(sdt), jcr->jr.StartTime); bstrftime(edt, sizeof(edt), jcr->jr.EndTime); - Jmsg(jcr, msg_type, 0, _("Bacula " VERSION " (" LSMDATE "): %s\n\ -JobId: %d\n\ -Job: %s\n\ -Start time: %s\n\ -End time: %s\n\ -Termination: %s\n\n"), - edt, - jcr->jr.JobId, - jcr->jr.Job, - sdt, - edt, - term_msg); + Jmsg(jcr, msg_type, 0, _("Bacula " VERSION " (" LSMDATE "): %s\n" +" JobId: %d\n" +" Job: %s\n" +" Start time: %s\n" +" End time: %s\n" +" Termination: %s\n\n"), + edt, + jcr->jr.JobId, + jcr->jr.Job, + sdt, + edt, + term_msg); Dmsg0(100, "Leave admin_cleanup()\n"); }