From a353f4ab3dc1be43f9121eed98149d006fd13d70 Mon Sep 17 00:00:00 2001 From: "\"Steven J. Hill\"" Date: Tue, 5 Dec 2006 05:23:56 +0000 Subject: Patch the entire source tree up to get rid of deprecated and obsolete functions. Submitted new patch to maintainer. --- .../util-linux-remove-deprecated-functions.patch | 282 ++++++++++++++++++++- 1 file changed, 279 insertions(+), 3 deletions(-) diff --git a/package/util-linux/util-linux-remove-deprecated-functions.patch b/package/util-linux/util-linux-remove-deprecated-functions.patch index 084397954..ede6ed356 100644 --- a/package/util-linux/util-linux-remove-deprecated-functions.patch +++ b/package/util-linux/util-linux-remove-deprecated-functions.patch @@ -1,6 +1,165 @@ +diff -ur util-linux-2.12r/fdisk/cfdisk.c util-linux-2.12r-patched/fdisk/cfdisk.c +--- util-linux-2.12r/fdisk/cfdisk.c 2005-09-09 16:44:57.000000000 -0500 ++++ util-linux-2.12r-patched/fdisk/cfdisk.c 2006-12-04 23:21:09.646235820 -0600 +@@ -353,7 +353,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; + } + +diff -ur util-linux-2.12r/fdisk/fdiskbsdlabel.c util-linux-2.12r-patched/fdisk/fdiskbsdlabel.c +--- util-linux-2.12r/fdisk/fdiskbsdlabel.c 2003-07-13 16:12:47.000000000 -0500 ++++ util-linux-2.12r-patched/fdisk/fdiskbsdlabel.c 2006-12-04 23:21:09.646235820 -0600 +@@ -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)); ++ memcpy (&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)); ++ memcpy (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)); ++ memcpy (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,7 +776,7 @@ + /* 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], ++ memcpy (&disklabelbuffer[BSD_LABELSECTOR * SECTOR_SIZE + BSD_LABELOFFSET], d, + sizeof (struct xbsd_disklabel)); + + #if defined (__alpha__) && BSD_LABELSECTOR == 0 +diff -ur util-linux-2.12r/fdisk/sfdisk.c util-linux-2.12r-patched/fdisk/sfdisk.c +--- util-linux-2.12r/fdisk/sfdisk.c 2005-01-04 16:31:57.000000000 -0600 ++++ util-linux-2.12r-patched/fdisk/sfdisk.c 2006-12-04 23:21:09.650236137 -0600 +@@ -1730,12 +1730,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 */ +@@ -1745,7 +1745,7 @@ + } + + /* dump style? - then bad input is fatal */ +- if ((ip = index(line+2, ':')) != 0) { ++ if ((ip = strchr(line+2, ':')) != 0) { + struct dumpfld *d; + + nxtfld: +@@ -2514,7 +2514,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++; +diff -ur util-linux-2.12r/login-utils/login.c util-linux-2.12r-patched/login-utils/login.c +--- util-linux-2.12r/login-utils/login.c 2004-12-04 20:37:12.000000000 -0600 ++++ util-linux-2.12r-patched/login-utils/login.c 2006-12-04 23:21:09.650236137 -0600 +@@ -97,8 +97,6 @@ + #include + #include + #include +-#define index strchr +-#define rindex strrchr + #include + #include + #include +@@ -1192,7 +1190,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); + +diff -ur util-linux-2.12r/login-utils/passwd.c util-linux-2.12r-patched/login-utils/passwd.c +--- util-linux-2.12r/login-utils/passwd.c 2002-03-08 17:00:11.000000000 -0600 ++++ util-linux-2.12r-patched/login-utils/passwd.c 2006-12-04 23:21:09.650236137 -0600 +@@ -194,7 +194,7 @@ + if ( c-gecos && (g = (char *)malloc (c-gecos+1)) ) { + strncpy (g, gecos, c-gecos); + g[c-gecos] = 0; +- while ( (c=rindex(g, ' ')) ) { ++ while ( (c=strrchr(g, ' ')) ) { + if ( !check_passwd_string(passwd, c+1) ) { + printf(_("Please don't use something like your realname as password!\n")); + free (g); +diff -ur util-linux-2.12r/login-utils/vipw.c util-linux-2.12r-patched/login-utils/vipw.c +--- util-linux-2.12r/login-utils/vipw.c 2004-03-04 15:54:44.000000000 -0600 ++++ util-linux-2.12r-patched/login-utils/vipw.c 2006-12-04 23:21:09.650236137 -0600 +@@ -314,7 +314,7 @@ + textdomain(PACKAGE); + + bzero(tmp_file, FILENAMELEN); +- progname = (rindex(argv[0], '/')) ? rindex(argv[0], '/') + 1 : argv[0]; ++ progname = (strrchr(argv[0], '/')) ? strrchr(argv[0], '/') + 1 : argv[0]; + if (!strcmp(progname, "vigr")) { + program = VIGR; + xstrncpy(orig_file, GROUP_FILE, sizeof(orig_file)); +diff -ur util-linux-2.12r/login-utils/wall.c util-linux-2.12r-patched/login-utils/wall.c +--- util-linux-2.12r/login-utils/wall.c 2002-03-08 17:00:19.000000000 -0600 ++++ util-linux-2.12r-patched/login-utils/wall.c 2006-12-04 23:21:09.650236137 -0600 +@@ -87,7 +87,7 @@ + textdomain(PACKAGE); + + progname = argv[0]; +- p = rindex(progname, '/'); ++ p = strrchr(progname, '/'); + if (p) + progname = p+1; + diff -ur util-linux-2.12r/misc-utils/logger.c util-linux-2.12r-patched/misc-utils/logger.c --- util-linux-2.12r/misc-utils/logger.c 2004-09-06 16:13:49.000000000 -0500 -+++ util-linux-2.12r-patched/misc-utils/logger.c 2006-12-04 19:52:24.068596984 -0600 ++++ util-linux-2.12r-patched/misc-utils/logger.c 2006-12-04 23:21:09.650236137 -0600 @@ -198,7 +198,7 @@ } else { if (p != buf) @@ -12,7 +171,7 @@ diff -ur util-linux-2.12r/misc-utils/logger.c util-linux-2.12r-patched/misc-util } diff -ur util-linux-2.12r/misc-utils/whereis.c util-linux-2.12r-patched/misc-utils/whereis.c --- util-linux-2.12r/misc-utils/whereis.c 2001-03-15 04:09:58.000000000 -0600 -+++ util-linux-2.12r-patched/misc-utils/whereis.c 2006-12-04 19:52:43.210100415 -0600 ++++ util-linux-2.12r-patched/misc-utils/whereis.c 2006-12-04 23:21:09.650236137 -0600 @@ -323,14 +323,14 @@ char dirbuf[1024]; struct stat statbuf; @@ -30,9 +189,30 @@ diff -ur util-linux-2.12r/misc-utils/whereis.c util-linux-2.12r-patched/misc-uti *d = 0; dirp = opendir(dirbuf); if (dirp == NULL) +diff -ur util-linux-2.12r/mount/mntent.c util-linux-2.12r-patched/mount/mntent.c +--- util-linux-2.12r/mount/mntent.c 2004-10-13 15:57:34.000000000 -0500 ++++ util-linux-2.12r-patched/mount/mntent.c 2006-12-04 23:21:09.650236137 -0600 +@@ -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; diff -ur util-linux-2.12r/mount/mount.c util-linux-2.12r-patched/mount/mount.c --- util-linux-2.12r/mount/mount.c 2004-12-21 16:00:36.000000000 -0600 -+++ util-linux-2.12r-patched/mount/mount.c 2006-12-04 19:54:16.317414647 -0600 ++++ util-linux-2.12r-patched/mount/mount.c 2006-12-04 23:21:09.654236454 -0600 @@ -488,11 +488,11 @@ /* Accept a comma-separated list of types, and try them one by one */ @@ -47,3 +227,99 @@ diff -ur util-linux-2.12r/mount/mount.c util-linux-2.12r-patched/mount/mount.c *p = 0; args.type = *types = t; if(do_mount_syscall (&args) == 0) +diff -ur util-linux-2.12r/mount/mount_by_label.c util-linux-2.12r-patched/mount/mount_by_label.c +--- util-linux-2.12r/mount/mount_by_label.c 2004-12-21 17:15:33.000000000 -0600 ++++ util-linux-2.12r-patched/mount/mount_by_label.c 2006-12-04 23:21:09.654236454 -0600 +@@ -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 ]", +diff -ur util-linux-2.12r/mount/sundries.c util-linux-2.12r-patched/mount/sundries.c +--- util-linux-2.12r/mount/sundries.c 2004-12-21 13:12:31.000000000 -0600 ++++ util-linux-2.12r-patched/mount/sundries.c 2006-12-04 23:21:09.654236454 -0600 +@@ -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++; +diff -ur util-linux-2.12r/mount/umount.c util-linux-2.12r-patched/mount/umount.c +--- util-linux-2.12r/mount/umount.c 2005-09-10 13:07:38.000000000 -0500 ++++ util-linux-2.12r-patched/mount/umount.c 2006-12-04 23:21:09.654236454 -0600 +@@ -338,7 +338,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; + } + } +diff -ur util-linux-2.12r/text-utils/colcrt.c util-linux-2.12r-patched/text-utils/colcrt.c +--- util-linux-2.12r/text-utils/colcrt.c 2001-03-15 04:09:59.000000000 -0600 ++++ util-linux-2.12r-patched/text-utils/colcrt.c 2006-12-04 23:23:45.614600041 -0600 +@@ -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)); ++ memcpy(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; +diff -ur util-linux-2.12r/text-utils/display.c util-linux-2.12r-patched/text-utils/display.c +--- util-linux-2.12r/text-utils/display.c 2002-03-08 17:05:39.000000000 -0600 ++++ util-linux-2.12r-patched/text-utils/display.c 2006-12-04 23:24:32.478315487 -0600 +@@ -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) ; + } + +diff -ur util-linux-2.12r/text-utils/parse.c util-linux-2.12r-patched/text-utils/parse.c +--- util-linux-2.12r/text-utils/parse.c 2002-03-08 17:07:00.000000000 -0600 ++++ util-linux-2.12r-patched/text-utils/parse.c 2006-12-04 23:24:19.913319294 -0600 +@@ -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; -- cgit v1.2.3