#include <stdlib.h>
#endif
+#if defined(HAVE_MALLOC_H) && (defined(HAVE_MALLINFO) || !defined(HAVE_STDLIB_H))
+#include <malloc.h>
+#endif
+
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
#include <string.h>
#endif
-#ifdef HAVE_MALLOC_H
-#include <malloc.h>
-#endif
-
#ifdef TIME_WITH_SYS_TIME
#include <sys/time.h>
#include <time.h>
#include <glob.h>
#endif
-#ifdef HAVE_MALLOC_H
-# include <malloc.h>
-#endif
-
/* these are needed for the uid/gid mapping code */
#include <pwd.h>
#include <grp.h>
};
struct map_struct {
- char *p;
- int fd,p_size,p_len;
- OFF_T file_size, p_offset, p_fd_offset;
+ char *p; /* Window pointer */
+ int fd; /* File Descriptor */
+ int p_size; /* Window size at allocation */
+ int p_len; /* Window size after fill */
+ /* p_size and p_len could be
+ * consolodated by using a local
+ * variable in map_ptr() */
+ int status; /* first errno from read errors */
+ OFF_T file_size; /* File size (from stat) */
+ OFF_T p_offset; /* Window start */
+ OFF_T p_fd_offset; /* offset of cursor in fd ala lseek */
};
#define MATCHFLG_WILD 0x0001 /* pattern has '*', '[', and/or '?' */