X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fbackupfile.c;h=1698c3474d339fdff0e071416002104935ddc1e0;hb=3b3231a029a148f719f3347a4ec9ab11f7625231;hp=e6956ee2aed8aea7250455392dd490987948f16a;hpb=a89ae060ff117b21f797a78ac9e4004164266694;p=gnulib.git diff --git a/lib/backupfile.c b/lib/backupfile.c index e6956ee2a..1698c3474 100644 --- a/lib/backupfile.c +++ b/lib/backupfile.c @@ -12,75 +12,63 @@ 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ + along with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* David MacKenzie . Some algorithms adapted from GNU Emacs. */ #ifdef HAVE_CONFIG_H -#if defined (CONFIG_BROKETS) -/* We use instead of "config.h" so that a compilation - using -I. -I$srcdir will use ./config.h rather than $srcdir/config.h - (which it would do because it found this file in $srcdir). */ -#include -#else -#include "config.h" -#endif +# include #endif #include #include #include #include "backupfile.h" -#if defined(STDC_HEADERS) || defined(HAVE_STRING_H) -#include -#ifndef index -#define index strchr -#endif -#ifndef rindex -#define rindex strrchr -#endif +#ifdef HAVE_STRING_H +# include #else -#include +# include #endif -#if defined(DIRENT) || defined(_POSIX_VERSION) -#include -#define NLENGTH(direct) (strlen((direct)->d_name)) -#else /* not (DIRENT or _POSIX_VERSION) */ -#define dirent direct -#define NLENGTH(direct) ((direct)->d_namlen) -#ifdef SYSNDIR -#include -#endif /* SYSNDIR */ -#ifdef SYSDIR -#include -#endif /* SYSDIR */ -#ifdef NDIR -#include -#endif /* NDIR */ -#endif /* DIRENT or _POSIX_VERSION */ - -#ifdef VOID_CLOSEDIR +#ifdef HAVE_DIRENT_H +# include +# define NLENGTH(direct) (strlen((direct)->d_name)) +#else /* not HAVE_DIRENT_H */ +# define dirent direct +# define NLENGTH(direct) ((direct)->d_namlen) +# ifdef HAVE_SYS_NDIR_H +# include +# endif /* HAVE_SYS_NDIR_H */ +# ifdef HAVE_SYS_DIR_H +# include +# endif /* HAVE_SYS_DIR_H */ +# ifdef HAVE_NDIR_H +# include +# endif /* HAVE_NDIR_H */ +#endif /* HAVE_DIRENT_H */ + +#ifdef CLOSEDIR_VOID /* Fake a return value. */ -#define CLOSEDIR(d) (closedir (d), 0) +# define CLOSEDIR(d) (closedir (d), 0) #else -#define CLOSEDIR(d) closedir (d) +# define CLOSEDIR(d) closedir (d) #endif #ifdef STDC_HEADERS -#include +# include #else char *malloc (); #endif -#if !defined (isascii) || defined (STDC_HEADERS) -#undef isascii -#define isascii(c) 1 +#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII)) +# define IN_CTYPE_DOMAIN(c) 1 +#else +# define IN_CTYPE_DOMAIN(c) isascii(c) #endif -#define ISDIGIT(c) (isascii ((unsigned char ) c) \ +#define ISDIGIT(c) (IN_CTYPE_DOMAIN ((unsigned char) (c)) \ && isdigit ((unsigned char) (c))) #if defined (HAVE_UNISTD_H) @@ -90,9 +78,9 @@ char *malloc (); #if defined (_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 +# 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. */ @@ -117,7 +105,7 @@ static int version_number (); char * find_backup_file_name (file) - char *file; + const char *file; { char *dir; char *base_versions; @@ -149,13 +137,14 @@ find_backup_file_name (file) static int max_backup_version (file, dir) - char *file, *dir; + const char *file; + const char *dir; { DIR *dirp; struct dirent *dp; int highest_version; int this_version; - int file_name_length; + size_t file_name_length; dirp = opendir (dir); if (!dirp) @@ -183,7 +172,7 @@ max_backup_version (file, dir) static char * make_version_name (file, version) - char *file; + const char *file; int version; { char *backup_name; @@ -201,12 +190,12 @@ make_version_name (file, version) static int version_number (base, backup, base_length) - char *base; - char *backup; + const char *base; + const char *backup; int base_length; { int version; - char *p; + const char *p; version = 0; if (!strncmp (base, backup, base_length) && ISDIGIT (backup[base_length])) @@ -224,7 +213,8 @@ version_number (base, backup, base_length) static char * concat (str1, str2) - char *str1, *str2; + const char *str1; + const char *str2; { char *newstr; int str1_length = strlen (str1);