+#include <ansidecl.h>
#include <fcntl.h>
#include <errno.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
-#include <utime.h>
#include <ctype.h>
#include <string.h>
#include <unistd.h>
-#ifndef O_ACCMODE
+#ifndef O_ACCMODE
#define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR)
#endif
-#ifndef SEEK_SET
+#ifndef SEEK_SET
#define SEEK_SET 0
#define SEEK_CUR 1
#endif
-#define POSIX_UTIME
+#define USE_UTIME
/* Some things that need to be defined in order to make code written for
BSD Unix compile under System V Unix. */
#define bzero(s,n) memset(s,0,n)
#include <string.h>
-#define index(s,c) strchr(s,c)
-#define rindex(s,c) strrchr(s,c)
-#ifndef DONTDECLARE_MALLOC
-extern PTR EXFUN(malloc,(unsigned));
-extern PTR EXFUN(realloc, (PTR, unsigned));
-extern void EXFUN(free,(PTR));
+#ifndef DONTDECLARE_MALLOC
+extern PTR malloc PARAMS ((unsigned));
+extern PTR realloc PARAMS ((PTR, unsigned));
+extern void free PARAMS ((PTR));
#endif
-/* EXACT TYPES */
-typedef char int8e_type;
-typedef unsigned char uint8e_type;
-typedef short int16e_type;
-typedef unsigned short uint16e_type;
-typedef int int32e_type;
-typedef unsigned int uint32e_type;
-
-/* CORRECT SIZE OR GREATER */
-typedef char int8_type;
-typedef unsigned char uint8_type;
-typedef short int16_type;
-typedef unsigned short uint16_type;
-typedef int int32_type;
-typedef unsigned int uint32_type;
-
#include "fopen-same.h"
+
+/* From ANSI C <stddef.h>, which we can't depend upon the existence of */
+#ifndef offsetof
+#define offsetof(type,memb) ((size_t)&(((type *)0)->memb))
+#endif