Article View: gnu.utils.bug
Article #702fileutils-3.3 and find-3.7 under 386BSD-0.x and Minix386-1.6.16++
From: Bruce Evans
Date: Sat, 22 Aug 1992 10:23
Date: Sat, 22 Aug 1992 10:23
787 lines
23172 bytes
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!bdeShow 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