#define major(dev) (dev)
#define minor(dev) (dev)
typedef long off_t;
-#endif /* __MSDOS__ */
+#endif /* __MSDOS__ */
#if defined(__STDC__) || defined(__TURBOC__)
#define PTR void *
#else
#define PTR char *
+#define const
#endif
/* Since major is a function on SVR4, we can't just use `ifndef major'. */
#endif
#undef HAVE_MAJOR
-#if defined(STDC_HEADERS) || defined(USG)
+#if defined(STDC_HEADERS) || defined(HAVE_STRING_H)
#include <string.h>
#if !defined(__MSDOS__) && !defined(STDC_HEADERS)
#include <memory.h>
#if defined(STDC_HEADERS)
#include <stdlib.h>
#else
-char *malloc(), *realloc();
-char *getenv();
+char *malloc (), *realloc ();
+char *getenv ();
#endif
#ifndef _POSIX_VERSION
#ifdef __MSDOS__
#include <io.h>
-#else /* !__MSDOS__ */
-off_t lseek();
-#endif /* !__MSDOS__ */
-char *getcwd();
+#else /* !__MSDOS__ */
+off_t lseek ();
+#endif /* !__MSDOS__ */
+char *getcwd ();
#endif /* !_POSIX_VERSION */
#ifndef NULL
#if !defined(S_ISSOCK) && defined(S_IFSOCK)
#define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
#endif
-#if !defined(S_ISMPB) && defined(S_IFMPB) /* V7 */
+#if !defined(S_ISMPB) && defined(S_IFMPB) /* V7 */
#define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB)
#define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC)
#endif
-#if !defined(S_ISNWK) && defined(S_IFNWK) /* HP/UX */
+#if !defined(S_ISNWK) && defined(S_IFNWK) /* HP/UX */
#define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK)
#endif
-#if !defined(S_ISCTG) && defined(S_IFCTG) /* contiguous file */
+#if !defined(S_ISCTG) && defined(S_IFCTG) /* contiguous file */
#define S_ISCTG(m) (((m) & S_IFMT) == S_IFCTG)
#endif
#if !defined(S_ISVTX)
#define S_ISVTX 0001000
#endif
+
+#ifdef __MSDOS__
+#include "msd_dir.h"
+#define NLENGTH(direct) ((direct)->d_namlen)
+
+#else /* not __MSDOS__ */
+
+#if defined(DIRENT) || defined(_POSIX_VERSION)
+#include <dirent.h>
+#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 <sys/ndir.h>
+#endif /* SYSNDIR */
+#ifdef SYSDIR
+#include <sys/dir.h>
+#endif /* SYSDIR */
+#ifdef NDIR
+#include <ndir.h>
+#endif /* NDIR */
+#endif /* DIRENT or _POSIX_VERSION */
+
+#endif /* not __MSDOS__ */
#define CHKBLANKS " " /* 8 blanks, no null */
/* The magic field is filled with this if uname and gname are valid. */
-#define TMAGIC "ustar " /* 7 chars and a null */
+#define TMAGIC "ustar" /* 5 chars and a null */
/* The linkflag defines the type of file */
#define LF_OLDNORMAL '\0' /* Normal disk file, Unix compat */
#define CMD_UPDATE 6 /* -u */
#define CMD_EXTRACT 7 /* -x */
#define CMD_DELETE 8 /* -D */
-#define CMD_VERSION 9 /* +version */
+#define CMD_VERSION 9 /* --version */
/* -[0-9][lmh] */
/* CMD_CAT -A */
TAR_EXTERN int f_exclude; /* -X */
TAR_EXTERN int f_compress; /* -z */
/* -Z */
-TAR_EXTERN int f_do_chown; /* +do-chown */
-TAR_EXTERN int f_totals; /* +totals */
-TAR_EXTERN int f_remove_files; /* +remove-files */
-TAR_EXTERN int f_ignore_failed_read; /* +ignore-failed-read */
-TAR_EXTERN int f_checkpoint; /* +checkpoint */
-TAR_EXTERN int f_show_omitted_dirs; /* +show-omitted-dirs */
-TAR_EXTERN char *f_volno_file; /* +volno-file */
+TAR_EXTERN int f_do_chown; /* --do-chown */
+TAR_EXTERN int f_totals; /* --totals */
+TAR_EXTERN int f_remove_files; /* --remove-files */
+TAR_EXTERN int f_ignore_failed_read; /* --ignore-failed-read */
+TAR_EXTERN int f_checkpoint; /* --checkpoint */
+TAR_EXTERN int f_show_omitted_dirs; /* --show-omitted-dirs */
+TAR_EXTERN char *f_volno_file; /* --volno-file */
/*
* We default to Unix Standard format rather than 4.2BSD tar format.
union record *endofrecs();
void anno();
-#if !defined (VPRINTF_MISSING) && defined (__STDC__)
+#if defined (HAVE_VPRINTF) && __STDC__
void msg(char *, ...);
void msg_perror(char *, ...);
#else