]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/lib/res.c
Pull compiler warning cleanup code + other from master
[bacula/bacula] / bacula / src / lib / res.c
index 04dab6bfe7e4bcda2c9415213894c03bbb5ac174..bb7e63aa721a5297bab7cd1075990ae8f21d3bc4 100644 (file)
@@ -1,60 +1,51 @@
 /*
- *  This file handles locking and seaching resources
- *
- *     Kern Sibbald, January MM
- *      Split from parse_conf.c April MMV
- *
- *   Version $Id$
- */
+   Bacula® - The Network Backup Solution
 
-/*
-   Copyright (C) 2000-2005 Kern Sibbald
+   Copyright (C) 2000-2011 Free Software Foundation Europe e.V.
 
-   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.
+   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 three of the GNU Affero 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
+   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 Affero 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.
+*/
+/*
+ *  This file handles locking and seaching resources
+ *
+ *     Kern Sibbald, January MM
+ *       Split from parse_conf.c April MMV
+ *
  */
 
-
 #include "bacula.h"
 
-extern int debug_level;
-
 /* Each daemon has a slightly different set of
  * resources, so it will define the following
  * global values.
  */
-extern int r_first;
-extern int r_last;
+extern int32_t r_first;
+extern int32_t r_last;
 extern RES_TABLE resources[];
 extern RES **res_head;
 
-#ifdef HAVE_WIN32
-// work around visual studio name manling preventing external linkage since res_all
-// is declared as a different type when instantiated.
-extern "C" CURES res_all;
-extern "C" int res_all_size;
-#else
-extern CURES res_all;
-extern int res_all_size;
-#endif
-
-
-brwlock_t res_lock;                  /* resource lock */
-static int res_locked = 0;           /* set when resource chains locked -- for debug */
-
+brwlock_t res_lock;                   /* resource lock */
+static int res_locked = 0;            /* resource chain lock count -- for debug */
 
 
 /* #define TRACE_RES */
@@ -64,15 +55,15 @@ void b_LockRes(const char *file, int line)
    int errstat;
 #ifdef TRACE_RES
    Pmsg4(000, "LockRes  locked=%d w_active=%d at %s:%d\n", 
-        res_locked, res_lock.w_active, file, line);
+         res_locked, res_lock.w_active, file, line);
     if (res_locked) {
        Pmsg2(000, "LockRes writerid=%d myid=%d\n", res_lock.writer_id,
-         pthread_self());
+          pthread_self());
      }
 #endif
    if ((errstat=rwl_writelock(&res_lock)) != 0) {
-      Emsg3(M_ABORT, 0, "rwl_writelock failure at %s:%d:  ERR=%s\n",
-          file, line, strerror(errstat));
+      Emsg3(M_ABORT, 0, _("rwl_writelock failure at %s:%d:  ERR=%s\n"),
+           file, line, strerror(errstat));
    }
    res_locked++;
 }
@@ -81,13 +72,13 @@ void b_UnlockRes(const char *file, int line)
 {
    int errstat;
    if ((errstat=rwl_writeunlock(&res_lock)) != 0) {
-      Emsg3(M_ABORT, 0, "rwl_writeunlock failure at %s:%d:. ERR=%s\n",
-          file, line, strerror(errstat));
+      Emsg3(M_ABORT, 0, _("rwl_writeunlock failure at %s:%d:. ERR=%s\n"),
+           file, line, strerror(errstat));
    }
    res_locked--;
 #ifdef TRACE_RES
    Pmsg4(000, "UnLockRes locked=%d wactive=%d at %s:%d\n", 
-        res_locked, res_lock.w_active, file, line);
+         res_locked, res_lock.w_active, file, line);
 #endif
 }
 
@@ -95,7 +86,7 @@ void b_UnlockRes(const char *file, int line)
  * Return resource of type rcode that matches name
  */
 RES *
-GetResWithName(int rcode, char *name)
+GetResWithName(int rcode, const char *name)
 {
    RES *res;
    int rindex = rcode - r_first;
@@ -104,7 +95,7 @@ GetResWithName(int rcode, char *name)
    res = res_head[rindex];
    while (res) {
       if (strcmp(res->name, name) == 0) {
-        break;
+         break;
       }
       res = res->next;
    }
@@ -124,10 +115,6 @@ GetNextRes(int rcode, RES *res)
    RES *nres;
    int rindex = rcode - r_first;
 
-
-//   if (!res_locked) {
-//      Emsg0(M_ABORT, 0, "Resource chain not locked.\n");
-//   }
    if (res == NULL) {
       nres = res_head[rindex];
    } else {