X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fbackupfile.c;h=2ef0f0b48d154bcaf0933327d7af8a4237a1e808;hb=c48e3b6bc3bd5b075e45075c141f1b2b84b02b53;hp=7a624cfece6d890f6a464d5a6ec3807c346f793b;hpb=d3a7e40df75227d3e8ae3a9b5bbcd1b619bef717;p=gnulib.git diff --git a/lib/backupfile.c b/lib/backupfile.c index 7a624cfec..2ef0f0b48 100644 --- a/lib/backupfile.c +++ b/lib/backupfile.c @@ -18,22 +18,37 @@ /* 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 +#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 #else #include #endif -#if defined(DIRENT) || defined(_POSIX_VERSION) +#ifdef DIRENT #include #define NLENGTH(direct) (strlen((direct)->d_name)) -#else /* not (DIRENT or _POSIX_VERSION) */ +#else /* not DIRENT */ #define dirent direct #define NLENGTH(direct) ((direct)->d_namlen) #ifdef SYSNDIR @@ -45,7 +60,7 @@ #ifdef NDIR #include #endif /* NDIR */ -#endif /* DIRENT or _POSIX_VERSION */ +#endif /* DIRENT */ #ifdef VOID_CLOSEDIR /* Fake a return value. */ @@ -141,11 +156,11 @@ max_backup_version (file, dir) int highest_version; int this_version; int file_name_length; - + dirp = opendir (dir); if (!dirp) return 0; - + highest_version = 0; file_name_length = strlen (file); @@ -153,7 +168,7 @@ max_backup_version (file, dir) { if (!REAL_DIR_ENTRY (dp) || NLENGTH (dp) <= file_name_length) continue; - + this_version = version_number (file, dp->d_name, file_name_length); if (this_version > highest_version) highest_version = this_version; @@ -192,7 +207,7 @@ version_number (base, backup, base_length) { int version; char *p; - + version = 0; if (!strncmp (base, backup, base_length) && ISDIGIT (backup[base_length])) { @@ -212,7 +227,7 @@ concat (str1, str2) char *str1, *str2; { char *newstr; - char str1_length = strlen (str1); + int str1_length = strlen (str1); newstr = malloc (str1_length + strlen (str2) + 1); if (newstr == 0)