Some algorithms adapted from GNU Emacs. */
#ifdef HAVE_CONFIG_H
-#if defined (CONFIG_BROKETS)
-/* We use <config.h> instead of "config.h" so that a compilation
- using -I. -I will use ./config.h rather than /config.h
- (which it would do because it found this file in ). */
#include <config.h>
-#else
-#include "config.h"
-#endif
#endif
#include <stdio.h>
#include <ctype.h>
#include <sys/types.h>
#include "backupfile.h"
-#if defined(STDC_HEADERS) || defined(HAVE_STRING_H)
+#ifdef HAVE_STRING_H
#include <string.h>
-#ifndef index
-#define index strchr
-#endif
-#ifndef rindex
-#define rindex strrchr
-#endif
#else
#include <strings.h>
#endif
-#if defined(DIRENT) || defined(_POSIX_VERSION)
+#ifdef HAVE_DIRENT_H
#include <dirent.h>
#define NLENGTH(direct) (strlen((direct)->d_name))
-#else /* not (DIRENT or _POSIX_VERSION) */
+#else /* not HAVE_DIRENT_H */
#define dirent direct
#define NLENGTH(direct) ((direct)->d_namlen)
-#ifdef SYSNDIR
+#ifdef HAVE_SYS_NDIR_H
#include <sys/ndir.h>
-#endif /* SYSNDIR */
-#ifdef SYSDIR
+#endif /* HAVE_SYS_NDIR_H */
+#ifdef HAVE_SYS_DIR_H
#include <sys/dir.h>
-#endif /* SYSDIR */
-#ifdef NDIR
+#endif /* HAVE_SYS_DIR_H */
+#ifdef HAVE_NDIR_H
#include <ndir.h>
-#endif /* NDIR */
-#endif /* DIRENT or _POSIX_VERSION */
+#endif /* HAVE_NDIR_H */
+#endif /* HAVE_DIRENT_H */
-#ifdef VOID_CLOSEDIR
+#ifdef CLOSEDIR_VOID
/* Fake a return value. */
#define CLOSEDIR(d) (closedir (d), 0)
#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 ISASCII(c) 1
+#else
+#define ISASCII(c) isascii(c)
#endif
-#define ISDIGIT(c) (isascii ((unsigned char ) c) \
+#define ISDIGIT(c) (ISASCII ((unsigned char) (c)) \
&& isdigit ((unsigned char) (c)))
#if defined (HAVE_UNISTD_H)