[Patch for 2.4] make "cfg_dir=" ignore hidden files
Ethan Galstad
nagios at nagios.org
Mon Jun 19 22:34:53 CEST 2006
Bjoern Beutel wrote:
> Hello,
>
> when editing my Nagios configuration using Emacs, I sometimes can't restart Nagios
> because it reports an error about an ill-formed .cfg file.
>
> The reason is that Emacs creates a lock for each file that has been changed
> but not yet saved. For example, the lock for "dir/my_file.cfg" is a symbolic link
> named "dir/.#my_file.cfg". When "dir" is included by "cfg_dir=", Nagios tries
> to read the symbolic link, complains and exits.
>
> The patch below solves the problem by making "cfg_dir=" ignore hidden files.
>
> Björn Beutel
>
>
> diff -Naur nagios-2.4/xdata/xodtemplate.c nagios-2.4.new/xdata/xodtemplate.c
> --- nagios-2.4/xdata/xodtemplate.c 2006-01-12 16:13:08.000000000 +0000
> +++ nagios-2.4.new/xdata/xodtemplate.c 2006-06-08 10:39:13.000000000 +0000
> @@ -385,9 +385,9 @@
> snprintf(file,sizeof(file),"%s/%s",dirname,dirfile->d_name);
> file[sizeof(file)-1]='\x0';
>
> - /* process this if it's a config file... */
> + /* process this if it's a non-hidden config file... */
> x=strlen(dirfile->d_name);
> - if(x>4 && !strcmp(dirfile->d_name+(x-4),".cfg")){
> + if(x>4 && dirfile->d_name[0] != '.' && !strcmp(dirfile->d_name+(x-4),".cfg")){
>
> #ifdef _DIRENT_HAVE_D_TYPE
> /* only process normal files and symlinks */
Thanks! Patch will be in CVS shortly.
Ethan Galstad,
Nagios Developer
---
Email: nagios at nagios.org
Website: http://www.nagios.org
More information about the Developers
mailing list