summaryrefslogtreecommitdiffstats
path: root/package/util-linux/util-linux-susv3-legacy.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/util-linux/util-linux-susv3-legacy.patch')
-rw-r--r--package/util-linux/util-linux-susv3-legacy.patch429
1 files changed, 429 insertions, 0 deletions
diff --git a/package/util-linux/util-linux-susv3-legacy.patch b/package/util-linux/util-linux-susv3-legacy.patch
new file mode 100644
index 000000000..2239119a5
--- /dev/null
+++ b/package/util-linux/util-linux-susv3-legacy.patch
@@ -0,0 +1,429 @@
+[PATCH] replace susv3 legacy functions with modern equivalents
+
+Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+---
+ fdisk/cfdisk.c | 2 +-
+ fdisk/fdiskbsdlabel.c | 16 ++++++++--------
+ fdisk/sfdisk.c | 10 +++++-----
+ login-utils/login.c | 6 +++---
+ login-utils/shutdown.c | 2 +-
+ login-utils/ttymsg.c | 2 +-
+ login-utils/vipw.c | 4 ++--
+ login-utils/wall.c | 2 +-
+ misc-utils/logger.c | 2 +-
+ misc-utils/namei.c | 2 +-
+ misc-utils/whereis.c | 4 ++--
+ mount/mntent.c | 4 ++--
+ mount/mount.c | 4 ++--
+ mount/mount_by_label.c | 2 +-
+ mount/sundries.c | 2 +-
+ mount/umount.c | 2 +-
+ partx/partx.c | 2 +-
+ text-utils/colcrt.c | 4 ++--
+ text-utils/display.c | 2 +-
+ text-utils/parse.c | 8 ++++----
+ 20 files changed, 41 insertions(+), 41 deletions(-)
+
+Index: util-linux-2.13-pre7/fdisk/fdiskbsdlabel.c
+===================================================================
+--- util-linux-2.13-pre7.orig/fdisk/fdiskbsdlabel.c
++++ util-linux-2.13-pre7/fdisk/fdiskbsdlabel.c
+@@ -538,10 +538,10 @@
+
+ /* We need a backup of the disklabel (xbsd_dlabel might have changed). */
+ d = &disklabelbuffer[BSD_LABELSECTOR * SECTOR_SIZE];
+- bcopy (d, &dl, sizeof (struct xbsd_disklabel));
++ memmove (&dl, d, sizeof (struct xbsd_disklabel));
+
+ /* The disklabel will be overwritten by 0's from bootxx anyway */
+- bzero (d, sizeof (struct xbsd_disklabel));
++ memset (d, 0, sizeof (struct xbsd_disklabel));
+
+ snprintf (path, sizeof(path), "%s/boot%s", bootdir, dkbasename);
+ if (!xbsd_get_bootstrap (path, &disklabelbuffer[xbsd_dlabel.d_secsize],
+@@ -555,7 +555,7 @@
+ exit ( EXIT_FAILURE );
+ }
+
+- bcopy (&dl, d, sizeof (struct xbsd_disklabel));
++ memmove (d, &dl, sizeof (struct xbsd_disklabel));
+
+ #if defined (__powerpc__) || defined (__hppa__)
+ sector = 0;
+@@ -657,7 +657,7 @@
+ struct geom g;
+
+ get_geometry (fd, &g);
+- bzero (d, sizeof (struct xbsd_disklabel));
++ memset (d, 0, sizeof (struct xbsd_disklabel));
+
+ d -> d_magic = BSD_DISKMAGIC;
+
+@@ -740,8 +740,8 @@
+ if (BSD_BBSIZE != read (fd, disklabelbuffer, BSD_BBSIZE))
+ fatal (unable_to_read);
+
+- bcopy (&disklabelbuffer[BSD_LABELSECTOR * SECTOR_SIZE + BSD_LABELOFFSET],
+- d, sizeof (struct xbsd_disklabel));
++ memmove (d, &disklabelbuffer[BSD_LABELSECTOR * SECTOR_SIZE + BSD_LABELOFFSET],
++ sizeof (struct xbsd_disklabel));
+
+ if (d -> d_magic != BSD_DISKMAGIC || d -> d_magic2 != BSD_DISKMAGIC)
+ return 0;
+@@ -776,8 +776,8 @@
+ /* This is necessary if we want to write the bootstrap later,
+ otherwise we'd write the old disklabel with the bootstrap.
+ */
+- bcopy (d, &disklabelbuffer[BSD_LABELSECTOR * SECTOR_SIZE + BSD_LABELOFFSET],
+- sizeof (struct xbsd_disklabel));
++ memmove (&disklabelbuffer[BSD_LABELSECTOR * SECTOR_SIZE + BSD_LABELOFFSET],
++ d, sizeof (struct xbsd_disklabel));
+
+ #if defined (__alpha__) && BSD_LABELSECTOR == 0
+ alpha_bootblock_checksum (disklabelbuffer);
+Index: util-linux-2.13-pre7/login-utils/ttymsg.c
+===================================================================
+--- util-linux-2.13-pre7.orig/login-utils/ttymsg.c
++++ util-linux-2.13-pre7/login-utils/ttymsg.c
+@@ -111,7 +111,7 @@
+ if (wret >= 0) {
+ left -= wret;
+ if (iov != localiov) {
+- bcopy(iov, localiov,
++ memmove(localiov, iov,
+ iovcnt * sizeof(struct iovec));
+ iov = localiov;
+ }
+Index: util-linux-2.13-pre7/login-utils/vipw.c
+===================================================================
+--- util-linux-2.13-pre7.orig/login-utils/vipw.c
++++ util-linux-2.13-pre7/login-utils/vipw.c
+@@ -313,8 +313,8 @@
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
+
+- bzero(tmp_file, FILENAMELEN);
+- progname = (rindex(argv[0], '/')) ? rindex(argv[0], '/') + 1 : argv[0];
++ memset(tmp_file, 0, FILENAMELEN);
++ progname = (strrchr(argv[0], '/')) ? strrchr(argv[0], '/') + 1 : argv[0];
+ if (!strcmp(progname, "vigr")) {
+ program = VIGR;
+ xstrncpy(orig_file, GROUP_FILE, sizeof(orig_file));
+Index: util-linux-2.13-pre7/misc-utils/logger.c
+===================================================================
+--- util-linux-2.13-pre7.orig/misc-utils/logger.c
++++ util-linux-2.13-pre7/misc-utils/logger.c
+@@ -198,7 +198,7 @@
+ } else {
+ if (p != buf)
+ *p++ = ' ';
+- bcopy(*argv++, p, len);
++ memmove(p, *argv++, len);
+ *(p += len) = '\0';
+ }
+ }
+Index: util-linux-2.13-pre7/misc-utils/namei.c
+===================================================================
+--- util-linux-2.13-pre7.orig/misc-utils/namei.c
++++ util-linux-2.13-pre7/misc-utils/namei.c
+@@ -242,7 +242,7 @@
+ * call namei()
+ */
+
+- bzero(sym, BUFSIZ);
++ memset(sym, 0, BUFSIZ);
+ if(readlink(buf, sym, BUFSIZ) == -1){
+ (void)printf(_(" ? problems reading symlink %s - %s (%d)\n"), buf, ERR);
+ return;
+Index: util-linux-2.13-pre7/text-utils/colcrt.c
+===================================================================
+--- util-linux-2.13-pre7.orig/text-utils/colcrt.c
++++ util-linux-2.13-pre7/text-utils/colcrt.c
+@@ -252,8 +252,8 @@
+ }
+ putwchar('\n');
+ }
+- bcopy(page[ol], page, (267 - ol) * 132 * sizeof(wchar_t));
+- bzero(page[267- ol], ol * 132 * sizeof(wchar_t));
++ memmove(page, page[ol], (267 - ol) * 132 * sizeof(wchar_t));
++ memset(page[267- ol], 0, ol * 132 * sizeof(wchar_t));
+ outline -= ol;
+ outcol = 0;
+ first = 1;
+Index: util-linux-2.13-pre7/fdisk/sfdisk.c
+===================================================================
+--- util-linux-2.13-pre7.orig/fdisk/sfdisk.c
++++ util-linux-2.13-pre7/fdisk/sfdisk.c
+@@ -40,7 +40,7 @@
+ #include <unistd.h> /* read, write */
+ #include <fcntl.h> /* O_RDWR */
+ #include <errno.h> /* ERANGE */
+-#include <string.h> /* index() */
++#include <string.h> /* strchr() */
+ #include <ctype.h>
+ #include <getopt.h>
+ #include <sys/ioctl.h>
+@@ -1709,12 +1709,12 @@
+ eof = 1;
+ return RD_EOF;
+ }
+- if (!(lp = index(lp, '\n')))
++ if (!(lp = strchr(lp, '\n')))
+ fatal(_("long or incomplete input line - quitting\n"));
+ *lp = 0;
+
+ /* remove comments, if any */
+- if ((lp = index(line+2, '#')) != 0)
++ if ((lp = strchr(line+2, '#')) != 0)
+ *lp = 0;
+
+ /* recognize a few commands - to be expanded */
+@@ -1724,7 +1724,7 @@
+ }
+
+ /* dump style? - then bad input is fatal */
+- if ((ip = index(line+2, ':')) != 0) {
++ if ((ip = strchr(line+2, ':')) != 0) {
+ struct dumpfld *d;
+
+ nxtfld:
+@@ -2491,7 +2491,7 @@
+
+ if (argc < 1)
+ fatal(_("no command?\n"));
+- if ((progn = rindex(argv[0], '/')) == NULL)
++ if ((progn = strrchr(argv[0], '/')) == NULL)
+ progn = argv[0];
+ else
+ progn++;
+Index: util-linux-2.13-pre7/login-utils/login.c
+===================================================================
+--- util-linux-2.13-pre7.orig/login-utils/login.c
++++ util-linux-2.13-pre7/login-utils/login.c
+@@ -337,7 +337,7 @@
+ */
+ gethostname(tbuf, sizeof(tbuf));
+ xstrncpy(thishost, tbuf, sizeof(thishost));
+- domain = index(tbuf, '.');
++ domain = strchr(tbuf, '.');
+
+ username = tty_name = hostname = NULL;
+ fflag = hflag = pflag = 0;
+@@ -356,7 +356,7 @@
+ exit(1);
+ }
+ hflag = 1;
+- if (domain && (p = index(optarg, '.')) &&
++ if (domain && (p = strchr(optarg, '.')) &&
+ strcasecmp(p, domain) == 0)
+ *p = 0;
+
+@@ -1101,7 +1101,7 @@
+ childArgv[childArgc++] = buff;
+ } else {
+ tbuf[0] = '-';
+- xstrncpy(tbuf + 1, ((p = rindex(pwd->pw_shell, '/')) ?
++ xstrncpy(tbuf + 1, ((p = strrchr(pwd->pw_shell, '/')) ?
+ p + 1 : pwd->pw_shell),
+ sizeof(tbuf)-1);
+
+Index: util-linux-2.13-pre7/login-utils/shutdown.c
+===================================================================
+--- util-linux-2.13-pre7.orig/login-utils/shutdown.c
++++ util-linux-2.13-pre7/login-utils/shutdown.c
+@@ -279,7 +279,7 @@
+ if (fgets (line, sizeof(line), fp) != NULL &&
+ strncasecmp (line, "HALT_ACTION", 11) == 0 &&
+ iswhitespace(line[11])) {
+- p = index(line, '\n');
++ p = strchr(line, '\n');
+ if (p)
+ *p = 0; /* strip final '\n' */
+ p = line+11;
+Index: util-linux-2.13-pre7/misc-utils/whereis.c
+===================================================================
+--- util-linux-2.13-pre7.orig/misc-utils/whereis.c
++++ util-linux-2.13-pre7/misc-utils/whereis.c
+@@ -323,14 +323,14 @@
+ char dirbuf[1024];
+ struct stat statbuf;
+
+- dd = index(dir, '*');
++ dd = strchr(dir, '*');
+ if (!dd)
+ goto noglob;
+
+ l = strlen(dir);
+ if (l < sizeof(dirbuf)) { /* refuse excessively long names */
+ strcpy (dirbuf, dir);
+- d = index(dirbuf, '*');
++ d = strchr(dirbuf, '*');
+ *d = 0;
+ dirp = opendir(dirbuf);
+ if (dirp == NULL)
+Index: util-linux-2.13-pre7/mount/mntent.c
+===================================================================
+--- util-linux-2.13-pre7.orig/mount/mntent.c
++++ util-linux-2.13-pre7/mount/mntent.c
+@@ -158,7 +158,7 @@
+ return NULL;
+
+ mfp->mntent_lineno++;
+- s = index (buf, '\n');
++ s = strchr (buf, '\n');
+ if (s == NULL) {
+ /* Missing final newline? Otherwise extremely */
+ /* long line - assume file was corrupted */
+@@ -166,7 +166,7 @@
+ fprintf(stderr, _("[mntent]: warning: no final "
+ "newline at the end of %s\n"),
+ mfp->mntent_file);
+- s = index (buf, 0);
++ s = strchr (buf, 0);
+ } else {
+ mfp->mntent_errs = 1;
+ goto err;
+Index: util-linux-2.13-pre7/mount/mount.c
+===================================================================
+--- util-linux-2.13-pre7.orig/mount/mount.c
++++ util-linux-2.13-pre7/mount/mount.c
+@@ -488,11 +488,11 @@
+
+ /* Accept a comma-separated list of types, and try them one by one */
+ /* A list like "nonfs,.." indicates types not to use */
+- if (*types && strncmp(*types, "no", 2) && index(*types,',')) {
++ if (*types && strncmp(*types, "no", 2) && strchr(*types,',')) {
+ char *t = strdup(*types);
+ char *p;
+
+- while((p = index(t,',')) != NULL) {
++ while((p = strchr(t,',')) != NULL) {
+ *p = 0;
+ args.type = *types = t;
+ if(do_mount_syscall (&args) == 0)
+Index: util-linux-2.13-pre7/mount/mount_by_label.c
+===================================================================
+--- util-linux-2.13-pre7.orig/mount/mount_by_label.c
++++ util-linux-2.13-pre7/mount/mount_by_label.c
+@@ -213,7 +213,7 @@
+ fseek(procpt, 0, SEEK_SET);
+
+ while (fgets(line, sizeof(line), procpt)) {
+- if (!index(line, '\n'))
++ if (!strchr(line, '\n'))
+ break;
+
+ if (sscanf (line, " %d %d %d %[^\n ]",
+Index: util-linux-2.13-pre7/mount/sundries.c
+===================================================================
+--- util-linux-2.13-pre7.orig/mount/sundries.c
++++ util-linux-2.13-pre7/mount/sundries.c
+@@ -138,7 +138,7 @@
+ if (strncmp(p, type, len) == 0 &&
+ (p[len] == 0 || p[len] == ','))
+ return !no;
+- p = index(p,',');
++ p = strchr(p,',');
+ if (!p)
+ break;
+ p++;
+Index: util-linux-2.13-pre7/mount/umount.c
+===================================================================
+--- util-linux-2.13-pre7.orig/mount/umount.c
++++ util-linux-2.13-pre7/mount/umount.c
+@@ -332,7 +332,7 @@
+ if (res < 0)
+ umnt_err2 = errno;
+ /* Do not complain about remote NFS mount points */
+- if (errno == ENOENT && index(spec, ':'))
++ if (errno == ENOENT && strchr(spec, ':'))
+ umnt_err2 = 0;
+ }
+ }
+Index: util-linux-2.13-pre7/partx/partx.c
+===================================================================
+--- util-linux-2.13-pre7.orig/partx/partx.c
++++ util-linux-2.13-pre7/partx/partx.c
+@@ -130,7 +130,7 @@
+ case 'n':
+ p = optarg;
+ lower = atoi(p);
+- p = index(p, '-');
++ p = strchr(p, '-');
+ if (p)
+ upper = atoi(p+1);
+ else
+Index: util-linux-2.13-pre7/text-utils/display.c
+===================================================================
+--- util-linux-2.13-pre7.orig/text-utils/display.c
++++ util-linux-2.13-pre7/text-utils/display.c
+@@ -163,7 +163,7 @@
+ pr->cchar[0] = 's';
+ pr->cchar[1] = 0;
+ for (p1 = pr->fmt; *p1 != '%'; ++p1);
+- for (p2 = ++p1; *p1 && index(spec, *p1); ++p1);
++ for (p2 = ++p1; *p1 && strchr(spec, *p1); ++p1);
+ while ((*p2++ = *p1++) != 0) ;
+ }
+
+Index: util-linux-2.13-pre7/text-utils/parse.c
+===================================================================
+--- util-linux-2.13-pre7.orig/text-utils/parse.c
++++ util-linux-2.13-pre7/text-utils/parse.c
+@@ -64,7 +64,7 @@
+ exit(1);
+ }
+ while (fgets(buf, sizeof(buf), fp)) {
+- if ((p = index(buf, '\n')) == NULL) {
++ if ((p = strchr(buf, '\n')) == NULL) {
+ (void)fprintf(stderr, _("hexdump: line too long.\n"));
+ while ((ch = getchar()) != '\n' && ch != EOF);
+ continue;
+@@ -171,7 +171,7 @@
+ * skip any special chars -- save precision in
+ * case it's a %s format.
+ */
+- while (index(spec + 1, *++fmt));
++ while (strchr(spec + 1, *++fmt));
+ if (*fmt == '.' && isdigit((unsigned char)*++fmt)) {
+ prec = atoi(fmt);
+ while (isdigit((unsigned char)*++fmt));
+@@ -244,10 +244,10 @@
+ if (fu->bcnt) {
+ sokay = USEBCNT;
+ /* skip to conversion character */
+- for (++p1; index(spec, *p1); ++p1);
++ for (++p1; strchr(spec, *p1); ++p1);
+ } else {
+ /* skip any special chars, field width */
+- while (index(spec + 1, *++p1));
++ while (strchr(spec + 1, *++p1));
+ if (*p1 == '.' &&
+ isdigit((unsigned char)*++p1)) {
+ sokay = USEPREC;
+Index: util-linux-2.13-pre7/fdisk/cfdisk.c
+===================================================================
+--- util-linux-2.13-pre7.orig/fdisk/cfdisk.c
++++ util-linux-2.13-pre7/fdisk/cfdisk.c
+@@ -348,7 +348,7 @@
+ /* Some libc's have their own basename() */
+ static char *
+ my_basename(char *devname) {
+- char *s = rindex(devname, '/');
++ char *s = strrchr(devname, '/');
+ return s ? s+1 : devname;
+ }
+
+Index: util-linux-2.13-pre7/login-utils/wall.c
+===================================================================
+--- util-linux-2.13-pre7.orig/login-utils/wall.c
++++ util-linux-2.13-pre7/login-utils/wall.c
+@@ -87,7 +87,7 @@
+ textdomain(PACKAGE);
+
+ progname = argv[0];
+- p = rindex(progname, '/');
++ p = strrchr(progname, '/');
+ if (p)
+ progname = p+1;
+