]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/lib/res.c
kes Add dynamic dll entry point for SHGetFolderPath to Win32 code.
[bacula/bacula] / bacula / src / lib / res.c
index 04dab6bfe7e4bcda2c9415213894c03bbb5ac174..c33d514c52ca77ceb992d7978e78046ab6c1a612 100644 (file)
@@ -2,36 +2,40 @@
  *  This file handles locking and seaching resources
  *
  *     Kern Sibbald, January MM
- *      Split from parse_conf.c April MMV
+ *       Split from parse_conf.c April MMV
  *
  *   Version $Id$
  */
-
 /*
-   Copyright (C) 2000-2005 Kern Sibbald
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2000-2006 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 two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed 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 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 John Walker.
+   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"
 
-extern int debug_level;
-
 /* Each daemon has a slightly different set of
  * resources, so it will define the following
  * global values.
@@ -41,20 +45,8 @@ extern int 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;            /* set when resource chains locked -- for debug */
 
 
 /* #define TRACE_RES */
@@ -64,15 +56,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 +73,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
 }
 
@@ -104,7 +96,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 +116,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 {