🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.utils.bug
Article #702

fileutils-3.3 and find-3.7 under 386BSD-0.x and Minix386-1.6.16++

#702
From: Bruce Evans
Date: Sat, 22 Aug 1992 10:23
787 lines
23172 bytes
The enclosed diffs fix some configuration and compile-time bugs and
one runtime bug (getgroups) for fileutils-3.3 and find-3.7 under
386BSD-0.0 and Minix386-1.6.16++.  (The current version of 386BSD is
0.1 but I think the fixes are still required.  I think they remain
correct except __i386b__ may have to be changed to __386BSD__.  I
don't trust either - configure should check.)

Most of the library bugs are only fixed in the Minix diffs.

1. The configuration for fileutils under 386BSD got MOUNT_UFS stuff
backwards.

2. sysconf () is broken in 386BSD (it is declared but there is no library
function for it.  So NGROUPS_MAX and ARG_MAX must not be replaced by
sysconf (_SC_stuff).

3. getgroups () is broken in 386BSD in the same way as in SunOS.

4. the fake ftime () did not work under 386BSD because timezone () is a
function.  I don't know how to fix this properly.

5. find.c, getversion.c, nextelem.c, touch.c and xgetcwd.c were missing
some function declarations.

6. re_comp () conflicted with its declaration in some standard (polluted)
header.  This is silly, because both 386BSD and gnu regex are providing
re_comp () for BSD4.2 compatibility.

7. The Minix part of the configuration was too longwinded.

8. getopt.c did not include <string.h> except for the gnu library.

9. idcache.c had

  /* We assume sizeof (uid_t) == sizeof (gid_t).  */

This assumption fails under Minix (uid_t is unsigned short and gid_t is
unsigned char).

10. xgetcwd.c and xstrdup.c had unnecessary casts of xmalloc and didn't
have sometimes-necessary casts long -> size_t and size_t -> unsigned.
    
11. In xargs.c it is necessary to #include <sys/types.h> before <unistd.h>
for unfriendly systems.

Bruce

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of shell archive."
# Contents:  bsd-fileu.dif bsd-find.dif fileu-3.3.dif find-3.7.dif
# Wrapped by gnu@besplex on Sat Aug 22 20:13:59 1992
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'bsd-fileu.dif' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'bsd-fileu.dif'\"
else
echo shar: Extracting \"'bsd-fileu.dif'\" \(4013 characters\)
sed "s/^X//" >'bsd-fileu.dif' <<'END_OF_FILE'
Xdiff -Nrc2 fileutils-3.3/configure fileu/configure
X*** fileutils-3.3/configure	Mon Jul 20 16:05:04 1992
X--- fileu/configure	Tue Aug  4 02:38:57 1992
X***************
X*** 390,396 ****
X  if test -z "$mounted"; then
X  # 4.4BSD
X! echo '#include <sys/mount.h>' > conftest.c
X! eval "$CPP $DEFS conftest.c > conftest.out 2>&1"
X! if egrep "MOUNT_UFS" conftest.out >/dev/null 2>&1; then
X    DEFS="$DEFS -DMOUNTED_GETMNTINFO=1" mounted=1
X  fi
X--- 390,401 ----
X  if test -z "$mounted"; then
X  # 4.4BSD
X! cat <<EOF > conftest.c
X! #include <sys/mount.h>
X! MOUNT_UFS
X! EOF
X! err=`eval "$CPP $DEFS conftest.c > conftest.out 2>&1"`
X! if test -n "$err" || egrep MOUNT_UFS conftest.out >/dev/null 2>&1 ; then
X!   :
X! else
X    DEFS="$DEFS -DMOUNTED_GETMNTINFO=1" mounted=1
X  fi
X***************
X*** 471,477 ****
X  if test -z "$space"; then
X  # 4.4BSD
X! echo '#include <sys/mount.h>' > conftest.c
X! eval "$CPP $DEFS conftest.c > conftest.out 2>&1"
X! if egrep "MOUNT_UFS" conftest.out >/dev/null 2>&1; then
X    DEFS="$DEFS -DSTAT_STATFS2_FSIZE=1" space=1
X  fi
X--- 476,487 ----
X  if test -z "$space"; then
X  # 4.4BSD
X! cat <<EOF > conftest.c
X! #include <sys/mount.h>
X! MOUNT_UFS
X! EOF
X! err=`eval "$CPP $DEFS conftest.c > conftest.out 2>&1"`
X! if test -n "$err" || egrep MOUNT_UFS conftest.out >/dev/null 2>&1 ; then
X!   :
X! else
X    DEFS="$DEFS -DSTAT_STATFS2_FSIZE=1" space=1
X  fi
Xdiff -Nrc2 fileutils-3.3/lib/eaccess.c fileu/lib/eaccess.c
X*** fileutils-3.3/lib/eaccess.c	Tue Dec 24 16:04:00 1991
X--- fileu/lib/eaccess.c	Tue Aug  4 01:27:19 1992
X***************
X*** 27,37 ****
X  #ifdef _POSIX_VERSION
X  #include <limits.h>
X! #ifdef NGROUPS_MAX
X  #undef NGROUPS_MAX
X  #endif /* NGROUPS_MAX */
X! #define NGROUPS_MAX sysconf (_SC_NGROUPS_MAX)
X! #if !defined(sun) && !defined(ultrix)
X  #define GETGROUPS_T gid_t
X! #else /* sun or ultrix */
X  #define GETGROUPS_T int
X  #endif /* sun or ultrix */
X--- 27,40 ----
X  #ifdef _POSIX_VERSION
X  #include <limits.h>
X! #if defined(NGROUPS_MAX) && !defined(__i386b__)
X! /* XXX - 386BSD 0.0 has NGROUPS_MAX but not sysconf */
X  #undef NGROUPS_MAX
X+ #endif /* NGROUPS_MAX and not __i386b__ */
X+ #ifndef NGROUPS_MAX
X+ #define NGROUPS_MAX ((unsigned) sysconf (_SC_NGROUPS_MAX))
X  #endif /* NGROUPS_MAX */
X! #if !defined(sun) && !defined(ultrix) && !defined(__i386b__)
X  #define GETGROUPS_T gid_t
X! #else /* sun or ultrix or __i386b__ (386BSD) */
X  #define GETGROUPS_T int
X  #endif /* sun or ultrix */
Xdiff -Nrc2 fileutils-3.3/lib/getdate.y fileu/lib/getdate.y
X*** fileutils-3.3/lib/getdate.y	Fri Jul 17 17:47:01 1992
X--- fileu/lib/getdate.y	Tue Aug  4 01:27:20 1992
X***************
X*** 836,840 ****
X      time_t		Start;
X      time_t		tod;
X! #if	!defined(HAVE_FTIME)
X      extern time_t	timezone;
X  #endif    
X--- 836,840 ----
X      time_t		Start;
X      time_t		tod;
X! #if	!defined(HAVE_FTIME) && !defined(__i386b__)
X      extern time_t	timezone;
X  #endif    
X***************
X*** 850,855 ****
X  	ftz.timezone = (int) _timezone / 60;
X  #else
X  	ftz.timezone = (int) timezone / 60;
X! #endif	
X  #else
X  	(void)ftime(&ftz);
X--- 850,860 ----
X  	ftz.timezone = (int) _timezone / 60;
X  #else
X+ #if	defined(__i386b__)
X+ 	/* XXX - char *timezone(int, int) is not what is wanted here! */
X+ 	ftz.timezone = 0;
X+ #else
X  	ftz.timezone = (int) timezone / 60;
X! #endif
X! #endif
X  #else
X  	(void)ftime(&ftz);
Xdiff -Nrc2 fileutils-3.3/lib/getversion.c fileu/lib/getversion.c
X*** fileutils-3.3/lib/getversion.c	Thu Apr 23 04:58:56 1992
X--- fileu/lib/getversion.c	Tue Aug  4 01:27:20 1992
X***************
X*** 20,23 ****
X--- 20,29 ----
X  #include "backupfile.h"
X  
X+ #ifdef STDC_HEADERS
X+ #include <stdlib.h>
X+ #else
X+ void exit ();
X+ #endif
X+ 
X  int argmatch ();
X  void invalid_arg ();
Xdiff -Nrc2 fileutils-3.3/src/touch.c fileu/src/touch.c
X*** fileutils-3.3/src/touch.c	Sat Jul  4 04:36:40 1992
X--- fileu/src/touch.c	Tue Aug  4 01:27:20 1992
X***************
X*** 53,56 ****
X--- 53,59 ----
X  void invalid_arg ();
X  void usage ();
X+ #ifndef HAVE_UTIME_NULL
X+ int utime_now ();
X+ #endif
X  
X  /* Bitmasks for `change_times'. */
END_OF_FILE
if test 4013 -ne `wc -c <'bsd-fileu.dif'`; then
    echo shar: \"'bsd-fileu.dif'\" unpacked with wrong size!
fi
# end of 'bsd-fileu.dif'
fi
if test -f 'bsd-find.dif' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'bsd-find.dif'\"
else
echo shar: Extracting \"'bsd-find.dif'\" \(1333 characters\)
sed "s/^X//" >'bsd-find.dif' <<'END_OF_FILE'
Xdiff -Nrc2 find-3.7/lib/regex.c find/lib/regex.c
X*** find-3.7/lib/regex.c	Sat Jul 11 05:00:29 1992
X--- find/lib/regex.c	Tue Aug  4 00:48:40 1992
X***************
X*** 4582,4586 ****
X  static struct re_pattern_buffer re_comp_buf;
X  
X! const char *
X  re_comp (s)
X      const char *s;
X--- 4582,4586 ----
X  static struct re_pattern_buffer re_comp_buf;
X  
X! /* const */ char *
X  re_comp (s)
X      const char *s;
Xdiff -Nrc2 find-3.7/lib/regex.h find/lib/regex.h
X*** find-3.7/lib/regex.h	Sat Jul 11 05:00:29 1992
X--- find/lib/regex.h	Tue Aug  4 00:26:38 1992
X***************
X*** 444,448 ****
X  
X  /* 4.2 bsd compatibility.  */
X! extern const char *re_comp (const char *);
X  extern int re_exec (const char *);
X  
X--- 444,448 ----
X  
X  /* 4.2 bsd compatibility.  */
X! extern /* const */ char *re_comp (const char *);
X  extern int re_exec (const char *);
X  
Xdiff -Nrc2 find-3.7/xargs/xargs.c find/xargs/xargs.c
X*** find-3.7/xargs/xargs.c	Fri Jul  3 16:11:09 1992
X--- find/xargs/xargs.c	Tue Aug  4 01:00:33 1992
X***************
X*** 130,137 ****
X  
X  #ifdef _POSIX_VERSION
X! #ifdef ARG_MAX
X! #undef ARG_MAX
X! #endif /* ARG_MAX */
X  #define ARG_MAX sysconf (_SC_ARG_MAX)
X  #endif /* _POSIX_VERSION */
X  
X--- 130,136 ----
X  
X  #ifdef _POSIX_VERSION
X! #ifndef ARG_MAX
X  #define ARG_MAX sysconf (_SC_ARG_MAX)
X+ #endif
X  #endif /* _POSIX_VERSION */
X  
END_OF_FILE
if test 1333 -ne `wc -c <'bsd-find.dif'`; then
    echo shar: \"'bsd-find.dif'\" unpacked with wrong size!
fi
# end of 'bsd-find.dif'
fi
if test -f 'fileu-3.3.dif' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'fileu-3.3.dif'\"
else
echo shar: Extracting \"'fileu-3.3.dif'\" \(6003 characters\)
sed "s/^X//" >'fileu-3.3.dif' <<'END_OF_FILE'
Xdiff -Nrc2 fileutils-3.3/configure fileu/configure
X*** fileutils-3.3/configure	Mon Jul 20 16:05:18 1992
X--- fileu/configure	Mon Aug  3 18:42:30 1992
X***************
X*** 208,221 ****
X  err=`eval "$CPP $DEFS conftest.c 2>&1 >/dev/null"`
X  if test -z "$err"; then
X!   MINIX=1
X  fi
X  rm -f conftest*
X- 
X- # The Minix shell can't assign to the same variable on the same line!
X- if test -n "$MINIX"; then
X-   DEFS="$DEFS -D_POSIX_SOURCE=1"
X-   DEFS="$DEFS -D_POSIX_1_SOURCE=2"
X-   DEFS="$DEFS -D_MINIX=1"
X- fi
X  
X  echo checking for POSIXized ISC
X--- 208,214 ----
X  err=`eval "$CPP $DEFS conftest.c 2>&1 >/dev/null"`
X  if test -z "$err"; then
X!   DEFS="$DEFS -D_POSIX_SOURCE=1 -D_POSIX_1_SOURCE=2 -D_MINIX=1"
X  fi
X  rm -f conftest*
X  
X  echo checking for POSIXized ISC
Xdiff -Nrc2 fileutils-3.3/lib/getopt.c fileu/lib/getopt.c
X*** fileutils-3.3/lib/getopt.c	Sun Jul 19 04:24:57 1992
X--- fileu/lib/getopt.c	Mon Aug  3 20:06:28 1992
X***************
X*** 37,40 ****
X--- 37,47 ----
X  #include <stdio.h>
X  
X+ /* This needs to be done better.  */
X+ #if defined(USG) || defined(STDC_HEADERS)
X+ #include <string.h>
X+ #else
X+ #include <strings.h>
X+ #endif
X+ 
X  /* This needs to come after some library #include
X     to get __GNU_LIBRARY__ defined.  */
X***************
X*** 44,48 ****
X     contain conflicting prototypes for getopt.  */
X  #include <stdlib.h>
X- #include <string.h>
X  #else	/* Not GNU C library.  */
X  #define	__alloca	alloca
X--- 51,54 ----
Xdiff -Nrc2 fileutils-3.3/lib/idcache.c fileu/lib/idcache.c
X*** fileutils-3.3/lib/idcache.c	Mon Jul 20 12:57:09 1992
X--- fileu/lib/idcache.c	Mon Aug  3 19:19:32 1992
X***************
X*** 40,48 ****
X  char *xstrdup ();
X  
X- /* We assume sizeof (uid_t) == sizeof (gid_t).  */
X- 
X  struct userid
X  {
X!   uid_t id;
X    char *name;
X    struct userid *next;
X--- 40,50 ----
X  char *xstrdup ();
X  
X  struct userid
X  {
X!   union
X!     {
X!       uid_t u;
X!       gid_t g;
X!     } id;
X    char *name;
X    struct userid *next;
X***************
X*** 66,70 ****
X  
X    for (tail = user_alist; tail; tail = tail->next)
X!     if (tail->id == uid)
X        return tail->name;
X  
X--- 68,72 ----
X  
X    for (tail = user_alist; tail; tail = tail->next)
X!     if (tail->id.u == uid)
X        return tail->name;
X  
X***************
X*** 71,75 ****
X    pwent = getpwuid (uid);
X    tail = (struct userid *) xmalloc (sizeof (struct userid));
X!   tail->id = uid;
X    if (pwent == 0)
X      {
X--- 73,77 ----
X    pwent = getpwuid (uid);
X    tail = (struct userid *) xmalloc (sizeof (struct userid));
X!   tail->id.u = uid;
X    if (pwent == 0)
X      {
X***************
X*** 101,105 ****
X      /* Avoid a function call for the most common case.  */
X      if (*tail->name == *user && !strcmp (tail->name, user))
X!       return &tail->id;
X  
X    for (tail = nouser_alist; tail; tail = tail->next)
X--- 103,107 ----
X      /* Avoid a function call for the most common case.  */
X      if (*tail->name == *user && !strcmp (tail->name, user))
X!       return &tail->id.u;
X  
X    for (tail = nouser_alist; tail; tail = tail->next)
X***************
X*** 116,123 ****
X    if (pwent)
X      {
X!       tail->id = pwent->pw_uid;
X        tail->next = user_alist;
X        user_alist = tail;
X!       return &tail->id;
X      }
X  
X--- 118,125 ----
X    if (pwent)
X      {
X!       tail->id.u = pwent->pw_uid;
X        tail->next = user_alist;
X        user_alist = tail;
X!       return &tail->id.u;
X      }
X  
X***************
X*** 143,147 ****
X  
X    for (tail = group_alist; tail; tail = tail->next)
X!     if (tail->id == gid)
X        return tail->name;
X  
X--- 145,149 ----
X  
X    for (tail = group_alist; tail; tail = tail->next)
X!     if (tail->id.g == gid)
X        return tail->name;
X  
X***************
X*** 148,152 ****
X    grent = getgrgid (gid);
X    tail = (struct userid *) xmalloc (sizeof (struct userid));
X!   tail->id = gid;
X    if (grent == 0)
X      {
X--- 150,154 ----
X    grent = getgrgid (gid);
X    tail = (struct userid *) xmalloc (sizeof (struct userid));
X!   tail->id.g = gid;
X    if (grent == 0)
X      {
X***************
X*** 178,182 ****
X      /* Avoid a function call for the most common case.  */
X      if (*tail->name == *group && !strcmp (tail->name, group))
X!       return &tail->id;
X  
X    for (tail = nogroup_alist; tail; tail = tail->next)
X--- 180,184 ----
X      /* Avoid a function call for the most common case.  */
X      if (*tail->name == *group && !strcmp (tail->name, group))
X!       return &tail->id.g;
X  
X    for (tail = nogroup_alist; tail; tail = tail->next)
X***************
X*** 193,200 ****
X    if (grent)
X      {
X!       tail->id = grent->gr_gid;
X        tail->next = group_alist;
X        group_alist = tail;
X!       return &tail->id;
X      }
X    
X--- 195,202 ----
X    if (grent)
X      {
X!       tail->id.g = grent->gr_gid;
X        tail->next = group_alist;
X        group_alist = tail;
X!       return &tail->id.g;
X      }
X    
Xdiff -Nrc2 fileutils-3.3/lib/xgetcwd.c fileu/lib/xgetcwd.c
X*** fileutils-3.3/lib/xgetcwd.c	Tue Jul 14 14:37:16 1992
X--- fileu/lib/xgetcwd.c	Mon Aug  3 20:17:32 1992
X***************
X*** 33,36 ****
X--- 33,37 ----
X  #define PATH_INCR 32
X  
X+ void free ();
X  char *xmalloc ();
X  char *xrealloc ();
X***************
X*** 44,54 ****
X    char *cwd;
X    char *ret;
X!   long path_max;
X  
X    errno = 0;
X!   path_max = PATH_MAX;
X    path_max += 2;		/* The getcwd docs say to do this. */
X  
X!   cwd = (char *) xmalloc (path_max);
X  
X    errno = 0;
X--- 45,55 ----
X    char *cwd;
X    char *ret;
X!   unsigned path_max;
X  
X    errno = 0;
X!   path_max = (unsigned) PATH_MAX;
X    path_max += 2;		/* The getcwd docs say to do this. */
X  
X!   cwd = xmalloc (path_max);
X  
X    errno = 0;
Xdiff -Nrc2 fileutils-3.3/lib/xstrdup.c fileu/lib/xstrdup.c
X*** fileutils-3.3/lib/xstrdup.c	Sun Jul 19 04:27:33 1992
X--- fileu/lib/xstrdup.c	Mon Aug  3 18:40:59 1992
X***************
X*** 29,32 ****
X       char *string;
X  {
X!   return strcpy ((char *) xmalloc (strlen (string) + 1), string);
X  }
X--- 29,32 ----
X       char *string;
X  {
X!   return strcpy (xmalloc ((unsigned) strlen (string) + 1), string);
X  }
END_OF_FILE
if test 6003 -ne `wc -c <'fileu-3.3.dif'`; then
    echo shar: \"'fileu-3.3.dif'\" unpacked with wrong size!
fi
# end of 'fileu-3.3.dif'
fi
if test -f 'find-3.7.dif' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'find-3.7.dif'\"
else
echo shar: Extracting \"'find-3.7.dif'\" \(6080 characters\)
sed "s/^X//" >'find-3.7.dif' <<'END_OF_FILE'
Xdiff -Nrc2 find-3.7/configure find/configure
X*** find-3.7/configure	Mon Jul 20 16:05:20 1992
X--- find/configure	Mon Aug  3 21:05:21 1992
X***************
X*** 201,214 ****
X  err=`eval "$CPP $DEFS conftest.c 2>&1 >/dev/null"`
X  if test -z "$err"; then
X!   MINIX=1
X  fi
X  rm -f conftest*
X- 
X- # The Minix shell can't assign to the same variable on the same line!
X- if test -n "$MINIX"; then
X-   DEFS="$DEFS -D_POSIX_SOURCE=1"
X-   DEFS="$DEFS -D_POSIX_1_SOURCE=2"
X-   DEFS="$DEFS -D_MINIX=1"
X- fi
X  
X  echo checking for POSIXized ISC
X--- 201,207 ----
X  err=`eval "$CPP $DEFS conftest.c 2>&1 >/dev/null"`
X  if test -z "$err"; then
X!   DEFS="$DEFS -D_POSIX_SOURCE=1 -D_POSIX_1_SOURCE=2 -D_MINIX=1"
X  fi
X  rm -f conftest*
X  
X  echo checking for POSIXized ISC
Xdiff -Nrc2 find-3.7/find/find.c find/find/find.c
X*** find-3.7/find/find.c	Fri Apr 24 16:55:34 1992
X--- find/find/find.c	Mon Aug  3 21:50:33 1992
X***************
X*** 44,47 ****
X--- 44,49 ----
X    (*(node)->pred_func)((pathname), (stat_buf_ptr), (node))
X  
X+ boolean mark_stat ();
X+ boolean opt_expr ();
X  boolean parse_open ();
X  boolean parse_close ();
Xdiff -Nrc2 find-3.7/lib/getopt.c find/lib/getopt.c
X*** find-3.7/lib/getopt.c	Sun Jul 19 04:24:57 1992
X--- find/lib/getopt.c	Mon Aug  3 21:06:12 1992
X***************
X*** 37,40 ****
X--- 37,47 ----
X  #include <stdio.h>
X  
X+ /* This needs to be done better.  */
X+ #if defined(USG) || defined(STDC_HEADERS)
X+ #include <string.h>
X+ #else
X+ #include <strings.h>
X+ #endif
X+ 
X  /* This needs to come after some library #include
X     to get __GNU_LIBRARY__ defined.  */
X***************
X*** 44,48 ****
X     contain conflicting prototypes for getopt.  */
X  #include <stdlib.h>
X- #include <string.h>
X  #else	/* Not GNU C library.  */
X  #define	__alloca	alloca
X--- 51,54 ----
Xdiff -Nrc2 find-3.7/lib/idcache.c find/lib/idcache.c
X*** find-3.7/lib/idcache.c	Mon Jul 20 12:57:09 1992
X--- find/lib/idcache.c	Mon Aug  3 21:06:13 1992
X***************
X*** 40,48 ****
X  char *xstrdup ();
X  
X- /* We assume sizeof (uid_t) == sizeof (gid_t).  */
X- 
X  struct userid
X  {
X!   uid_t id;
X    char *name;
X    struct userid *next;
X--- 40,50 ----
X  char *xstrdup ();
X  
X  struct userid
X  {
X!   union
X!     {
X!       uid_t u;
X!       gid_t g;
X!     } id;
X    char *name;
X    struct userid *next;
X***************
X*** 66,70 ****
X  
X    for (tail = user_alist; tail; tail = tail->next)
X!     if (tail->id == uid)
X        return tail->name;
X  
X--- 68,72 ----
X  
X    for (tail = user_alist; tail; tail = tail->next)
X!     if (tail->id.u == uid)
X        return tail->name;
X  
X***************
X*** 71,75 ****
X    pwent = getpwuid (uid);
X    tail = (struct userid *) xmalloc (sizeof (struct userid));
X!   tail->id = uid;
X    if (pwent == 0)
X      {
X--- 73,77 ----
X    pwent = getpwuid (uid);
X    tail = (struct userid *) xmalloc (sizeof (struct userid));
X!   tail->id.u = uid;
X    if (pwent == 0)
X      {
X***************
X*** 101,105 ****
X      /* Avoid a function call for the most common case.  */
X      if (*tail->name == *user && !strcmp (tail->name, user))
X!       return &tail->id;
X  
X    for (tail = nouser_alist; tail; tail = tail->next)
X--- 103,107 ----
X      /* Avoid a function call for the most common case.  */
X      if (*tail->name == *user && !strcmp (tail->name, user))
X!       return &tail->id.u;
X  
X    for (tail = nouser_alist; tail; tail = tail->next)
X***************
X*** 116,123 ****
X    if (pwent)
X      {
X!       tail->id = pwent->pw_uid;
X        tail->next = user_alist;
X        user_alist = tail;
X!       return &tail->id;
X      }
X  
X--- 118,125 ----
X    if (pwent)
X      {
X!       tail->id.u = pwent->pw_uid;
X        tail->next = user_alist;
X        user_alist = tail;
X!       return &tail->id.u;
X      }
X  
X***************
X*** 143,147 ****
X  
X    for (tail = group_alist; tail; tail = tail->next)
X!     if (tail->id == gid)
X        return tail->name;
X  
X--- 145,149 ----
X  
X    for (tail = group_alist; tail; tail = tail->next)
X!     if (tail->id.g == gid)
X        return tail->name;
X  
X***************
X*** 148,152 ****
X    grent = getgrgid (gid);
X    tail = (struct userid *) xmalloc (sizeof (struct userid));
X!   tail->id = gid;
X    if (grent == 0)
X      {
X--- 150,154 ----
X    grent = getgrgid (gid);
X    tail = (struct userid *) xmalloc (sizeof (struct userid));
X!   tail->id.g = gid;
X    if (grent == 0)
X      {
X***************
X*** 178,182 ****
X      /* Avoid a function call for the most common case.  */
X      if (*tail->name == *group && !strcmp (tail->name, group))
X!       return &tail->id;
X  
X    for (tail = nogroup_alist; tail; tail = tail->next)
X--- 180,184 ----
X      /* Avoid a function call for the most common case.  */
X      if (*tail->name == *group && !strcmp (tail->name, group))
X!       return &tail->id.g;
X  
X    for (tail = nogroup_alist; tail; tail = tail->next)
X***************
X*** 193,200 ****
X    if (grent)
X      {
X!       tail->id = grent->gr_gid;
X        tail->next = group_alist;
X        group_alist = tail;
X!       return &tail->id;
X      }
X    
X--- 195,202 ----
X    if (grent)
X      {
X!       tail->id.g = grent->gr_gid;
X        tail->next = group_alist;
X        group_alist = tail;
X!       return &tail->id.g;
X      }
X    
Xdiff -Nrc2 find-3.7/lib/nextelem.c find/lib/nextelem.c
X*** find-3.7/lib/nextelem.c	Sun Jul 12 12:31:54 1992
X--- find/lib/nextelem.c	Mon Aug  3 21:11:09 1992
X***************
X*** 27,30 ****
X--- 27,31 ----
X  #endif
X  
X+ void free ();
X  char *strdup ();
X  
Xdiff -Nrc2 find-3.7/lib/xstrdup.c find/lib/xstrdup.c
X*** find-3.7/lib/xstrdup.c	Sun Jul 19 04:27:33 1992
X--- find/lib/xstrdup.c	Mon Aug  3 20:58:00 1992
X***************
X*** 29,32 ****
X       char *string;
X  {
X!   return strcpy ((char *) xmalloc (strlen (string) + 1), string);
X  }
X--- 29,32 ----
X       char *string;
X  {
X!   return strcpy (xmalloc ((unsigned) strlen (string) + 1), string);
X  }
Xdiff -Nrc2 find-3.7/xargs/xargs.c find/xargs/xargs.c
X*** find-3.7/xargs/xargs.c	Fri Jul  3 16:11:23 1992
X--- find/xargs/xargs.c	Mon Aug  3 21:00:26 1992
X***************
X*** 126,129 ****
X--- 126,130 ----
X  
X  #ifdef HAVE_UNISTD_H
X+ #include <sys/types.h>
X  #include <unistd.h>
X  #endif
END_OF_FILE
if test 6080 -ne `wc -c <'find-3.7.dif'`; then
    echo shar: \"'find-3.7.dif'\" unpacked with wrong size!
fi
# end of 'find-3.7.dif'
fi
echo shar: End of shell archive.
exit 0
-- 
Bruce Evans  (bde@runx.oz.au)
Technical Details
Message-ID: <1992Aug22.102333.19179@runx.oz.au>
Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!runx.oz.AU!bde

Show Full Headers
Complete Article Headers
Newsgroups: gnu.utils.bug
Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!runx.oz.AU!bde
From: bde@runx.oz.AU (Bruce Evans)
Subject: fileutils-3.3 and find-3.7 under 386BSD-0.x and Minix386-1.6.16++
Message-ID: <1992Aug22.102333.19179@runx.oz.au>
Sender: gnulists@ai.mit.edu
Organization: RUNX Un*x Timeshare.  Sydney, Australia.
Distribution: gnu
Date: Sat, 22 Aug 1992 10:23:33 GMT
Approved: bug-gnu-utils@prep.ai.mit.edu
Lines: 788