]> err.no Git - util-linux/commitdiff
replace bcopy,bzero,index and rindex
authorDaniel Mierswa <impulze@impulze.org>
Mon, 17 Aug 2009 05:27:39 +0000 (07:27 +0200)
committerKarel Zak <kzak@redhat.com>
Mon, 17 Aug 2009 09:15:59 +0000 (11:15 +0200)
Those 4 functions are marked as LEGACY in POSIX.1-2001 and removed in
POSIX.1-2008.

Replaced with memmove,memset,strchr and strrchr.

Signed-off-by: Daniel Mierswa <impulze@impulze.org>
19 files changed:
fdisk/cfdisk.c
fdisk/fdiskbsdlabel.c
fdisk/sfdisk.c
login-utils/login.c
login-utils/shutdown.c
login-utils/ttymsg.c
login-utils/vipw.c
login-utils/wall.c
misc-utils/logger.c
misc-utils/whereis.c
mount/mount.c
mount/mount_mntent.c
mount/sundries.c
partx/partx.c
shlibs/blkid/src/config.c
text-utils/colcrt.c
text-utils/display.c
text-utils/parse.c
text-utils/ul.c

index fc0357d2daac4a3bfe78eccf21936cdba74c41e0..1846e11cc33b31245b587d0003fcb8bd9721338c 100644 (file)
@@ -357,7 +357,7 @@ xmalloc (size_t size) {
 /* 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 377b64ec45a0a04969e5780281cd93a5cda6aebb..d5243b9e90d188ddc02f021d46b71cd408da8fd2 100644 (file)
@@ -538,7 +538,7 @@ xbsd_write_bootstrap (void)
 
   /* 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));
@@ -555,7 +555,7 @@ xbsd_write_bootstrap (void)
       exit ( EXIT_FAILURE );
     }
 
-  bcopy (&dl, d, sizeof (struct xbsd_disklabel));
+  memmove (d, &dl, sizeof (struct xbsd_disklabel));
 
 #if defined (__powerpc__) || defined (__hppa__)
   sector = 0;
@@ -740,8 +740,9 @@ xbsd_readlabel (struct partition *p, struct xbsd_disklabel *d)
        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 +777,8 @@ xbsd_writelabel (struct partition *p, struct xbsd_disklabel *d)
   /* 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 da779aa89bb4a6ca8b73e32062d3201e1c69f20a..8fae5bb548e037e7bdfc19220631aee2e47c5b84 100644 (file)
@@ -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(), strrchr() */
 #include <ctype.h>
 #include <getopt.h>
 #include <sys/ioctl.h>
@@ -1725,12 +1725,12 @@ read_stdin(char **fields, char *line, int fieldssize, int linesize) {
        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 */
@@ -1740,7 +1740,7 @@ read_stdin(char **fields, char *line, int fieldssize, int linesize) {
     }
 
     /* dump style? - then bad input is fatal */
-    if ((ip = index(line+2, ':')) != 0) {
+    if ((ip = strchr(line+2, ':')) != 0) {
        struct dumpfld *d;
 
       nxtfld:
@@ -2503,7 +2503,7 @@ main(int argc, char **argv) {
 
     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 7328edeb9d8ae23c003534cc5a3f50fba1c258ef..486b30bf04abff6f4dee6c456943b362960ab301 100644 (file)
@@ -418,7 +418,7 @@ main(int argc, char **argv)
      */
     gethostname(tbuf, sizeof(tbuf));
     xstrncpy(thishost, tbuf, sizeof(thishost));
-    domain = index(tbuf, '.');
+    domain = strchr(tbuf, '.');
 
     username = tty_name = hostname = NULL;
     fflag = hflag = pflag = 0;
@@ -437,7 +437,7 @@ main(int argc, char **argv)
              exit(1);
          }
          hflag = 1;
-         if (domain && (p = index(optarg, '.')) &&
+         if (domain && (p = strchr(optarg, '.')) &&
              strcasecmp(p, domain) == 0)
            *p = 0;
 
@@ -1251,7 +1251,7 @@ Michael Riepe <michael@stud.uni-hannover.de>
        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 f798e58127c6345656af29f7fb5861b03fa551a0..58600b9d8bfaddefb379505b26cfab154ac3c76f 100644 (file)
@@ -281,7 +281,7 @@ main(int argc, char *argv[])
                        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 24b74bcbc5d0ad998a55336e94db31d6ed083be5..92282c127e359dd497fb9696335b951c2099c138 100644 (file)
@@ -111,7 +111,7 @@ ttymsg(struct iovec *iov, int iovcnt, char *line, int tmout) {
                if (wret >= 0) {
                        left -= wret;
                        if (iov != localiov) {
-                               bcopy(iov, localiov,
+                               memmove(localiov, iov,
                                    iovcnt * sizeof(struct iovec));
                                iov = localiov;
                        }
index 5f4472111a72b6047c5e3a05c8afce462c4cc520..b3972f3b31136e96cba93ea907849fe02cd7c99a 100644 (file)
@@ -311,8 +311,8 @@ int main(int argc, char *argv[]) {
        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 42856ae388190fe8cf821b9016d1b33fab0156f2..7b5f6718f196e5d3890beb099f539f779560b94a 100644 (file)
@@ -95,7 +95,7 @@ main(int argc, char **argv) {
         textdomain(PACKAGE);
 
        progname = argv[0];
-       p = rindex(progname, '/');
+       p = strrchr(progname, '/');
        if (p)
             progname = p+1;
 
index 72a8f85e8e8e52d945ac445f1819c04ec02a18ac..95050a1b38b3e71e65f604a1464d6f9a0352c6ed 100644 (file)
@@ -196,7 +196,7 @@ main(int argc, char **argv) {
                        } else {
                                if (p != buf)
                                        *p++ = ' ';
-                               bcopy(*argv++, p, len);
+                               memmove(p, *argv++, len);
                                *(p += len) = '\0';
                        }
                }
index 71ee6835c1e3427772c0dd947d776342161cd1f2..931ff77b5d8801fad10d6ff0cb299478db14f6b9 100644 (file)
@@ -325,14 +325,14 @@ findin(char *dir, char *cp) {
        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 ef478c79322480acc0a620d9c7a84be593eb9bee..e8cb5499232d7f96530c55f54f91f2cfff87dbec 100644 (file)
@@ -911,11 +911,11 @@ guess_fstype_and_mount(const char *spec, const char *node, const char **types,
 
    /* 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 (&args, special, status) == 0)
index e6e64bbc8ab8b96adafdd5d5406d1ae295c4ec26..f2623fd57406ed60efbfad0a910f1d165f6da311 100644 (file)
@@ -157,7 +157,7 @@ my_getmntent (mntFILE *mfp) {
                        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 */
@@ -165,7 +165,7 @@ my_getmntent (mntFILE *mfp) {
                                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 3980f81ad8c41375ef44b29a9d64fe4647618c91..658eec52e0ea6025c192a9d3c41a661a7ef66135 100644 (file)
@@ -157,7 +157,7 @@ matching_type (const char *type, const char *types) {
             if (strncmp(p, type, len) == 0 &&
                 (p[len] == 0 || p[len] == ','))
                     return !no;
-            p = index(p,',');
+            p = strchr(p,',');
             if (!p)
                     break;
             p++;
index 86507422a375077b96299432c35341c666ceda4c..25485fff2a2bc40a81b97b93625fb64d73925982 100644 (file)
@@ -131,7 +131,7 @@ main(int argc, char **argv){
        case 'n':
                p = optarg;
                lower = atoi(p);
-               p = index(p, '-');
+               p = strchr(p, '-');
                if (p)
                        upper = atoi(p+1);
                else
index 9091736bea6b712422c99c703446a8f9a16d09ad..fcc7b6f125ee126a189efbed6078cb5da0fd71a6 100644 (file)
@@ -68,12 +68,12 @@ static int parse_next(FILE *fd, struct blkid_config *conf)
        do {
                if (fgets (buf, sizeof(buf), fd) == NULL)
                        return feof(fd) ? 0 : -1;
-               s = index (buf, '\n');
+               s = strchr (buf, '\n');
                if (!s) {
                        /* Missing final newline?  Otherwise extremely */
                        /* long line - assume file was corrupted */
                        if (feof(fd))
-                               s = index (buf, '\0');
+                               s = strchr (buf, '\0');
                        else {
                                DBG(DEBUG_CONFIG, fprintf(stderr,
                                        "libblkid: config file: missing newline at line '%s'.\n",
index 891fd86db1924c020876e9f61b653f3a8b3db9fa..6f796656dce3e7f34a6fb76b5ed2a5a0b7b8c8e6 100644 (file)
@@ -252,8 +252,8 @@ void pflush(int ol)
                }
                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 3d4bdcd981a75705ccd4a2217a1626d3d7b3758a..91857c2fa159c24fba0f54b78233471cf15f84e6 100644 (file)
@@ -163,7 +163,7 @@ static void bpad(PR *pr)
        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 d7a3020828a16d5e8a9cf9a06f90e5767bd57d38..8164c601cb3eafd01b88b1235d2a7d923f245788 100644 (file)
@@ -64,7 +64,7 @@ void addfile(char *name)
                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 @@ int size(FS *fs)
                         * 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 @@ void rewrite(FS *fs)
                        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 76c0a97032881f56946284b37ca2a6d70ef24295..a1491b846fcee8abb0305e26c01d2c05b01230ba 100644 (file)
@@ -42,7 +42,7 @@
 
 #include <stdio.h>
 #include <unistd.h>            /* for getopt(), isatty() */
-#include <string.h>            /* for bzero(), strcpy() */
+#include <string.h>            /* for memset(), strcpy() */
 #include <term.h>              /* for setupterm() */
 #include <stdlib.h>            /* for getenv() */
 #include <limits.h>            /* for INT_MAX */