From: Kern S. <ke...@us...> - 2006-04-07 08:22:22
|
Update of /cvsroot/bacula/bacula/src/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv963/src/lib Modified Files: alist.h dlist.h parse_conf.h protos.h Log Message: - Remove timed wait for VSS on Win2K3 as it is not yet implemented. - Correct bacula.in script to reference bacula-ctl-xx in the sysconfig directory rather than the bin directory. 26Mar06 - Fix a long standing bug in the bacula start/stop scripts. - Attempt to add the new bacula-ctl-* files to the rpm. - Switch to using typeof() for list traversing to avoid as many FC5 g++ compiler warnings as possible. 25Mar06 - Split the bacula start/start script into four files: bacula -- starts and stops calling other scripts bacula-ctl-dir -- starts/stops the director bacula-ctl-fd -- starts/stops the File daemon bacula-ctl-sd -- starts/stops the Storage daemon Index: alist.h =================================================================== RCS file: /cvsroot/bacula/bacula/src/lib/alist.h,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- alist.h 15 Jan 2006 11:21:53 -0000 1.17 +++ alist.h 7 Apr 2006 08:22:17 -0000 1.18 @@ -26,17 +26,18 @@ * * Loop var through each member of list */ +#ifdef HAVE_GCC +#define foreach_alist(var, list) \ + for((var)=(typeof(var))(list)->first(); (var); (var)=(typeof(var))(list)->next() ) +#else #define foreach_alist(var, list) \ for((*((void **)&(var))=(void*)((list)->first())); \ (var); \ (*((void **)&(var))=(void*)((list)->next()))) - -#ifdef the_easy_way -#define foreach_alist(var, list) \ - for(((void*)(var))=(list)->first(); (var); ((void*)(var))=(list)->next()); ) #endif + /* Second arg of init */ enum { owned_by_alist = true, Index: dlist.h =================================================================== RCS file: /cvsroot/bacula/bacula/src/lib/dlist.h,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- dlist.h 17 Mar 2006 17:42:43 -0000 1.21 +++ dlist.h 7 Apr 2006 08:22:17 -0000 1.22 @@ -2,7 +2,7 @@ * Version $Id$ */ /* - Copyright (C) 2004-2006 Kern Sibbald + Copyright (C) 2004-2005 Kern Sibbald This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License @@ -36,15 +36,16 @@ * * Loop var through each member of list */ +#ifdef HAVE_GCC #define foreach_dlist(var, list) \ - for((var)=NULL; (*((void **)&(var))=(void*)((list)->next(var))); ) - -#ifdef the_old_way + for((var)=NULL; ((var)=(typeof(var))(list)->next(var)); ) +#else #define foreach_dlist(var, list) \ - for((var)=NULL; (((void *)(var))=(list)->next(var)); ) + for((var)=NULL; (*((void **)&(var))=(void*)((list)->next(var))); ) #endif + struct dlink { void *next; void *prev; Index: protos.h =================================================================== RCS file: /cvsroot/bacula/bacula/src/lib/protos.h,v retrieving revision 1.120 retrieving revision 1.121 diff -u -d -r1.120 -r1.121 --- protos.h 17 Mar 2006 17:42:43 -0000 1.120 +++ protos.h 7 Apr 2006 08:22:17 -0000 1.121 @@ -4,22 +4,17 @@ * Version $Id$ */ /* - Copyright (C) 2000-2005 Kern Sibbald + Copyright (C) 2000-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. */ Index: parse_conf.h =================================================================== RCS file: /cvsroot/bacula/bacula/src/lib/parse_conf.h,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- parse_conf.h 14 Feb 2006 14:11:09 -0000 1.27 +++ parse_conf.h 7 Apr 2006 08:22:17 -0000 1.28 @@ -2,22 +2,17 @@ * Version $Id$ */ /* - Copyright (C) 2000-2005 Kern Sibbald + Copyright (C) 2000-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. */ @@ -32,14 +27,14 @@ struct RES_ITEM { const char *name; /* Resource name i.e. Director, ... */ MSG_RES_HANDLER *handler; /* Routine storing the resource item */ - void **value; /* Where to store the item */ + char **value; /* Where to store the item */ int code; /* item code/additional info */ int flags; /* flags: default, required, ... */ int default_value; /* default value */ }; /* For storing name_addr items in res_items table */ -#define ITEM(x) ((void **)&res_all.x) +#define ITEM(x) ((char **)&res_all.x) #define MAX_RES_ITEMS 70 /* maximum resource items per RES */ @@ -114,15 +109,16 @@ const char *res_to_str(int rcode); /* Loop through each resource of type, returning in var */ +#ifdef HAVE_GCC #define foreach_res(var, type) \ - for(var=NULL; (*((void **)&(var))=(void *)GetNextRes((type), (RES *)var));) - -#ifdef the_old_way + for((var)=NULL; ((var)=(typeof(var))GetNextRes((type), (RES *)var));) +#else #define foreach_res(var, type) \ - for((var)=NULL; (((void *)(var))=GetNextRes((type), (RES *)var));) + for(var=NULL; (*((void **)&(var))=(void *)GetNextRes((type), (RES *)var));) #endif + void store_str(LEX *lc, RES_ITEM *item, int index, int pass); void store_dir(LEX *lc, RES_ITEM *item, int index, int pass); void store_password(LEX *lc, RES_ITEM *item, int index, int pass); |