util-linux: bump version

Fixes #19
This commit is contained in:
Peter Korsgaard 2009-03-03 08:52:56 +00:00
parent 890412421b
commit bbdf9df60a
6 changed files with 488 additions and 366 deletions

View File

@ -1,28 +0,0 @@
diff -urN util-linux-2.12q/disk-utils/fsck.cramfs.c util-linux-2.12q-patched/disk-utils/fsck.cramfs.c
--- util-linux-2.12q/disk-utils/fsck.cramfs.c 2004-12-11 08:53:16.000000000 -0600
+++ util-linux-2.12q-patched/disk-utils/fsck.cramfs.c 2005-10-03 17:27:13.000000000 -0500
@@ -77,15 +77,7 @@
#define PAD_SIZE 512
#include <asm/page.h>
-#ifdef PAGE_SIZE
-#define PAGE_CACHE_SIZE ((int) PAGE_SIZE)
-#elif defined __ia64__
-#define PAGE_CACHE_SIZE (16384)
-#elif defined __alpha__
-#define PAGE_CACHE_SIZE (8192)
-#else
#define PAGE_CACHE_SIZE (4096)
-#endif
/* Guarantee access to at least 8kB at a time */
#define ROMBUFFER_BITS 13
@@ -95,7 +87,7 @@
static unsigned long read_buffer_block = ~0UL;
/* Uncompressing data structures... */
-static char outbuffer[PAGE_CACHE_SIZE*2];
+static char outbuffer[4096*2];
z_stream stream;
#endif /* INCLUDE_FS_TESTS */

View File

@ -0,0 +1,25 @@
[PATCH]: fix util-linux build without NLS support
util-linux partly supports builds without NLS support, but it forgets to
provide a dummy setlocale() macro.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
include/nls.h | 4 ++++
1 file changed, 4 insertions(+)
Index: util-linux-2.13-pre7/include/nls.h
===================================================================
--- util-linux-2.13-pre7.orig/include/nls.h
+++ util-linux-2.13-pre7/include/nls.h
@@ -19,6 +19,10 @@
# define textdomain(Domain) /* empty */
# define _(Text) (Text)
# define N_(Text) (Text)
+# undef LC_ALL
+# define LC_ALL 0
+# undef setlocale
+# define setlocale(category, locale)
#endif

View File

@ -1,325 +0,0 @@
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 <sys/file.h>
#include <termios.h>
#include <string.h>
-#define index strchr
-#define rindex strrchr
#include <sys/ioctl.h>
#include <sys/wait.h>
#include <signal.h>
@@ -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 23:21:09.650236137 -0600
@@ -198,7 +198,7 @@
} else {
if (p != buf)
*p++ = ' ';
- bcopy(*argv++, p, len);
+ memcpy(p, *argv++, len);
*(p += len) = '\0';
}
}
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 23:21:09.650236137 -0600
@@ -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)
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 23:21:09.654236454 -0600
@@ -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)
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;

View File

@ -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;

View File

@ -0,0 +1,20 @@
[PATCH] fix multiple definitions of umount2 issue
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
mount/umount.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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
@@ -29,7 +29,7 @@
#include "nfsmount.h"
#include <arpa/inet.h>
-#if defined(MNT_FORCE) && !defined(__sparc__) && !defined(__arm__)
+#if 1
/* Interesting ... it seems libc knows about MNT_FORCE and presumably
about umount2 as well -- need not do anything */
#else /* MNT_FORCE */

View File

@ -3,7 +3,7 @@
# util-linux
#
#############################################################
UTIL-LINUX_VERSION:=2.12r
UTIL-LINUX_VERSION:=2.13-pre7
UTIL-LINUX_SOURCE:=util-linux-$(UTIL-LINUX_VERSION).tar.bz2
UTIL-LINUX_SITE:=$(BR2_KERNEL_MIRROR)/linux/utils/util-linux
UTIL-LINUX_DIR:=$(BUILD_DIR)/util-linux-$(UTIL-LINUX_VERSION)
@ -11,15 +11,19 @@ UTIL-LINUX_CAT:=$(BZCAT)
UTIL-LINUX_BINARY:=$(UTIL-LINUX_DIR)/misc-utils/chkdupexe
UTIL-LINUX_TARGET_BINARY:=$(TARGET_DIR)/usr/bin/chkdupexe
# schedutils isn't support for all archs
ifneq ($(BR2_i386)$(BR2_powerpc)$(BR2_x86_64)$(BR2_ia64)$(BR2_alpha),)
UTIL-LINUX_SCHED_UTILS:=--enable-schedutils
else
UTIL-LINUX_SCHED_UTILS:=--disable-schedutils
endif
$(DL_DIR)/$(UTIL-LINUX_SOURCE):
$(call DOWNLOAD,$(UTIL-LINUX_SITE),$(UTIL-LINUX_SOURCE))
$(UTIL-LINUX_DIR)/.unpacked: $(DL_DIR)/$(UTIL-LINUX_SOURCE)
$(UTIL-LINUX_CAT) $(DL_DIR)/$(UTIL-LINUX_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
toolchain/patch-kernel.sh $(UTIL-LINUX_DIR) package/util-linux/ util-linux\*.patch
ifneq ($(BR2_LARGEFILE),y)
$(SED) "/D_FILE_OFFSET_BITS/ d" $(UTIL-LINUX_DIR)/MCONFIG
endif
touch $(UTIL-LINUX_DIR)/.unpacked
$(UTIL-LINUX_DIR)/.configured: $(UTIL-LINUX_DIR)/.unpacked
@ -28,24 +32,21 @@ $(UTIL-LINUX_DIR)/.configured: $(UTIL-LINUX_DIR)/.unpacked
$(TARGET_CONFIGURE_ARGS) \
./configure \
--target=$(GNU_TARGET_NAME) \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--libdir=/lib \
--libexecdir=/usr/lib \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--disable-use-tty-group \
--prefix=/ \
--exec-prefix=/ \
--sysconfdir=/etc \
--datadir=/usr/share \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
$(UTIL-LINUX_SCHED_UTILS) \
$(DISABLE_NLS) \
$(DISABLE_LARGEFILE) \
ARCH=$(ARCH) \
)
$(SED) "s,^INSTALLSUID=.*,INSTALLSUID=\\$$\(INSTALL\) -m \\$$\(BINMODE\)," \
$(UTIL-LINUX_DIR)/MCONFIG
$(SED) "s,^USE_TTY_GROUP=.*,USE_TTY_GROUP=no," $(UTIL-LINUX_DIR)/MCONFIG
touch $(UTIL-LINUX_DIR)/.configured
$(UTIL-LINUX_BINARY): $(UTIL-LINUX_DIR)/.configured