Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* David MacKenzie <djm@gnu.ai.mit.edu>.
- Some algorithms adapted from GNU Emacs. */
+ Some algorithms adapted from GNU Emacs. */
-#ifdef HAVE_CONFIG_H
+#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <ctype.h>
#include <sys/types.h>
#include "backupfile.h"
-#ifdef HAVE_STRING_H
+#if HAVE_STRING_H
# include <string.h>
#else
# include <strings.h>
#endif
-#ifdef HAVE_DIRENT_H
+#if HAVE_DIRENT_H
# include <dirent.h>
-# define NLENGTH(direct) (strlen((direct)->d_name))
-#else /* not HAVE_DIRENT_H */
+# define NLENGTH(Direct) (strlen((Direct)->d_name))
+#else
# define dirent direct
-# define NLENGTH(direct) ((direct)->d_namlen)
-# ifdef HAVE_SYS_NDIR_H
+# define NLENGTH(Direct) ((Direct)->d_namlen)
+# if HAVE_SYS_NDIR_H
# include <sys/ndir.h>
-# endif /* HAVE_SYS_NDIR_H */
-# ifdef HAVE_SYS_DIR_H
+# endif
+# if HAVE_SYS_DIR_H
# include <sys/dir.h>
-# endif /* HAVE_SYS_DIR_H */
-# ifdef HAVE_NDIR_H
+# endif
+# if HAVE_NDIR_H
# include <ndir.h>
-# endif /* HAVE_NDIR_H */
-#endif /* HAVE_DIRENT_H */
+# endif
+#endif
-#ifdef CLOSEDIR_VOID
-/* Fake a return value. */
+#if CLOSEDIR_VOID
+/* Fake a return value. */
# define CLOSEDIR(d) (closedir (d), 0)
#else
# define CLOSEDIR(d) closedir (d)
#endif
-#ifdef STDC_HEADERS
+#if STDC_HEADERS
# include <stdlib.h>
#else
char *malloc ();
#endif
#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII))
-# define IN_CTYPE_DOMAIN(c) 1
+# define IN_CTYPE_DOMAIN(Char) 1
#else
-# define IN_CTYPE_DOMAIN(c) isascii(c)
+# define IN_CTYPE_DOMAIN(Char) isascii(Char)
#endif
-#define ISDIGIT_LOCALE(c) (IN_CTYPE_DOMAIN (c) && isdigit (c))
-
-/* ISDIGIT differs from ISDIGIT_LOCALE, as follows:
- - Its arg may be any int or unsigned int; it need not be an unsigned char.
- - It's guaranteed to evaluate its argument exactly once.
- - It's typically faster.
- Posix 1003.2-1992 section 2.5.2.1 page 50 lines 1556-1558 says that
- only '0' through '9' are digits. Prefer ISDIGIT to ISDIGIT_LOCALE unless
- it's important to use the locale's definition of `digit' even when the
- host does not conform to Posix. */
-#define ISDIGIT(c) ((unsigned) (c) - '0' <= 9)
+#define ISDIGIT(Char) (IN_CTYPE_DOMAIN ((unsigned char) (Char)) \
+ && isdigit ((unsigned char) (Char)))
-#if defined (HAVE_UNISTD_H)
-#include <unistd.h>
+#if HAVE_UNISTD_H
+# include <unistd.h>
#endif
-#if defined (_POSIX_VERSION)
+#ifdef _POSIX_VERSION
/* POSIX does not require that the d_ino field be present, and some
- systems do not provide it. */
-# define REAL_DIR_ENTRY(dp) 1
+ systems do not provide it. */
+# define REAL_DIR_ENTRY(Dp) 1
#else
-# define REAL_DIR_ENTRY(dp) ((dp)->d_ino != 0)
+# define REAL_DIR_ENTRY(Dp) ((Dp)->d_ino != 0)
#endif
-/* Which type of backup file names are generated. */
+/* Which type of backup file names are generated. */
enum backup_type backup_type = none;
/* The extension added to file names to produce a simple (as opposed
- to numbered) backup file name. */
+ to numbered) backup file name. */
char *simple_backup_suffix = "~";
char *basename ();
/* Return the name of the new backup file for file FILE,
allocated with malloc. Return 0 if out of memory.
FILE must not end with a '/' unless it is the root directory.
- Do not call this function if backup_type == none. */
+ Do not call this function if backup_type == none. */
char *
find_backup_file_name (file)
/* Return the number of the highest-numbered backup file for file
FILE in directory DIR. If there are no numbered backups
of FILE in DIR, or an error occurs reading DIR, return 0.
- FILE should already have ".~" appended to it. */
+ FILE should already have ".~" appended to it. */
static int
max_backup_version (file, dir)
}
/* Return a string, allocated with malloc, containing
- "FILE.~VERSION~". Return 0 if out of memory. */
+ "FILE.~VERSION~". Return 0 if out of memory. */
static char *
make_version_name (file, version)
/* If BACKUP is a numbered backup of BASE, return its version number;
otherwise return 0. BASE_LENGTH is the length of BASE.
- BASE should already have ".~" appended to it. */
+ BASE should already have ".~" appended to it. */
static int
version_number (base, backup, base_length)
}
/* Return the newly-allocated concatenation of STR1 and STR2.
- If out of memory, return 0. */
+ If out of memory, return 0. */
static char *
concat (str1, str2)
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-/* When to make backup files. */
+/* When to make backup files. */
enum backup_type
{
- /* Never make backups. */
+ /* Never make backups. */
none,
- /* Make simple backups of every file. */
+ /* Make simple backups of every file. */
simple,
/* Make numbered backups of files that already have numbered backups,
- and simple backups of the others. */
+ and simple backups of the others. */
numbered_existing,
- /* Make numbered backups of every file. */
+ /* Make numbered backups of every file. */
numbered
};
# define program_name program_invocation_name
# include <errno.h>
-#else /* not _LIBC */
+#else /* not _LIBC */
/* The calling program should define program_name and set it to the
name of the executing program. */
}
# define strerror private_strerror
# endif /* HAVE_STRERROR */
+
#endif /* not _LIBC */
/* Print the program name and error message MESSAGE, which is a printf-style
#undef bcmp
weak_alias (memcmp, bcmp)
#endif
-
-
/* Copyright (C) 1991, 1994 Free Software Foundation, Inc.
+ NOTE: The canonical source of this file is maintained with the GNU C
+ Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu.
-NOTE: The canonical source of this file is maintained with the GNU C Library.
-Bugs can be reported to bug-glibc@prep.ai.mit.edu.
+ 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, or (at your option) any
+ later version.
-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, or (at your option) any
-later version.
+ 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.
-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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <errno.h>
-#ifdef HAVE_CONFIG_H
+#if HAVE_CONFIG_H
# include <config.h>
#endif
-/* rpmatch - determine whether string value is affirmation or negative
- response according to current locale's data
-Copyright (C) 1996 Free Software Foundation, Inc.
+/* Determine whether string value is affirmation or negative response
+ according to current locale's data.
+ Copyright (C) 1996 Free Software Foundation, Inc.
-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, or (at your option)
-any later version.
+ 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, or (at your option)
+ any later version.
-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.
+ 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-#ifdef HAVE_CONFIG_H
+#if HAVE_CONFIG_H
# include <config.h>
#endif
#endif
#include <sys/types.h>
-#ifdef WITH_REGEX
+#if WITH_REGEX
# include <regex.h>
#else
# include <rx.h>
You should have received a copy of the GNU Library General Public
License along with this software; see the file COPYING.LIB. If not,
-write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA
-02139, USA. */
+write to the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
/* NOTE!!! AIX is so losing it requires this to be the first thing in the
* file.
You should have received a copy of the GNU Library General Public
License along with this software; see the file COPYING.LIB. If not,
-write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA
-02139, USA. */
+write to the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
/* t. lord Wed Sep 23 18:20:57 1992 */
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-#ifdef HAVE_CONFIG_H
+#if HAVE_CONFIG_H
# include <config.h>
#endif
-#ifdef HAVE_STRING_H
+#if HAVE_STRING_H
# include <string.h>
#else
# include <strings.h>