seeing "8" everywhere here makes me think I'm in OpenSSL code. 

please make that some sort of sensible define. 

And post this with the removal of the function, so do it
everywhere. I can't tell from the diff that it's sane. 


On Sat, Sep 19, 2015 at 03:14:35PM -0400, Michael McConville wrote:
> The best I can tell, fsck's errexit() is just a clone of errx() (less
> the "progname: " prefix and the appended newline).
> 
> If we delete it from fsck_ffs, fsck_ext2fs, and fsck_msdos, we can
> remove its definition in fsck. This diff is just for fsck_ffs.
> (fsck_msdos has only one use.)
> 
> Another trivial diff, but deleting stdlib clones like this prevents
> people from getting distracted when they're trying to get stuff done.
> 
> 
> Index: dir.c
> ===================================================================
> RCS file: /cvs/src/sbin/fsck_ffs/dir.c,v
> retrieving revision 1.32
> diff -u -p -r1.32 dir.c
> --- dir.c     20 Jan 2015 18:22:21 -0000      1.32
> +++ dir.c     19 Sep 2015 19:09:19 -0000
> @@ -36,6 +36,7 @@
>  #include <ufs/ufs/dir.h>
>  #include <ufs/ffs/fs.h>
>  
> +#include <err.h>
>  #include <stdio.h>
>  #include <stdlib.h>
>  #include <string.h>
> @@ -103,7 +104,7 @@ dirscan(struct inodesc *idesc)
>       char dbuf[DIRBLKSIZ];
>  
>       if (idesc->id_type != DATA)
> -             errexit("wrong type to dirscan %d\n", idesc->id_type);
> +             errx(8, "wrong type to dirscan %d", idesc->id_type);
>       if (idesc->id_entryno == 0 &&
>           (idesc->id_filesize & (DIRBLKSIZ - 1)) != 0)
>               idesc->id_filesize = roundup(idesc->id_filesize, DIRBLKSIZ);
> Index: inode.c
> ===================================================================
> RCS file: /cvs/src/sbin/fsck_ffs/inode.c,v
> retrieving revision 1.46
> diff -u -p -r1.46 inode.c
> --- inode.c   20 Jan 2015 18:22:21 -0000      1.46
> +++ inode.c   19 Sep 2015 19:09:19 -0000
> @@ -38,6 +38,7 @@
>  #ifndef SMALL
>  #include <pwd.h>
>  #endif
> +#include <err.h>
>  #include <stdio.h>
>  #include <stdlib.h>
>  #include <string.h>
> @@ -285,7 +286,7 @@ ginode(ino_t inumber)
>       daddr_t iblk;
>  
>       if (inumber < ROOTINO || inumber > maxino)
> -             errexit("bad inode number %llu to ginode\n",
> +             errx(8, "bad inode number %llu to ginode",
>                   (unsigned long long)inumber);
>       if (startinum == 0 ||
>           inumber < startinum || inumber >= startinum + INOPB(&sblock)) {
> @@ -318,7 +319,7 @@ getnextinode(ino_t inumber)
>       static caddr_t nextinop;
>  
>       if (inumber != nextino++ || inumber > maxino)
> -             errexit("bad inode number %llu to nextinode %llu\n",
> +             errx(8, "bad inode number %llu to nextinode %llu",
>                   (unsigned long long)inumber,
>                   (unsigned long long)nextino);
>       if (inumber >= lastinum) {
> @@ -371,15 +372,13 @@ setinodebuf(ino_t inum)
>       }
>       if (inodebuf == NULL &&
>           (inodebuf = malloc((unsigned)inobufsize)) == NULL)
> -             errexit("Cannot allocate space for inode buffer\n");
> +             errx(8, "Cannot allocate space for inode buffer");
>  }
>  
>  void
>  freeinodebuf(void)
>  {
> -
> -     if (inodebuf != NULL)
> -             free(inodebuf);
> +     free(inodebuf);
>       inodebuf = NULL;
>  }
>  
> @@ -404,7 +403,7 @@ cacheino(union dinode *dp, ino_t inumber
>               blks = NDADDR + NIADDR;
>       inp = malloc(sizeof(*inp) + (blks ? blks - 1 : 0) * sizeof(daddr_t));
>       if (inp == NULL)
> -             errexit("cannot allocate memory for inode cache\n");
> +             errx(8, "cannot allocate memory for inode cache");
>       inpp = &inphead[inumber % numdirs];
>       inp->i_nexthash = *inpp;
>       *inpp = inp;
> @@ -427,7 +426,7 @@ cacheino(union dinode *dp, ino_t inumber
>               newinpsort = reallocarray(inpsort,
>                   (unsigned)newlistmax, sizeof(struct inoinfo *));
>               if (newinpsort == NULL)
> -                     errexit("cannot increase directory list");
> +                     errx(8, "cannot increase directory list");
>               inpsort = newinpsort;
>               listmax = newlistmax;
>       }
> @@ -447,7 +446,7 @@ getinoinfo(ino_t inumber)
>                       continue;
>               return (inp);
>       }
> -     errexit("cannot find inode %llu\n", (unsigned long long)inumber);
> +     errx(8, "cannot find inode %llu", (unsigned long long)inumber);
>       return (NULL);
>  }
>  
> @@ -571,7 +570,7 @@ blkerror(ino_t ino, char *type, daddr_t 
>               return;
>  
>       default:
> -             errexit("BAD STATE %d TO BLKERR\n", GET_ISTATE(ino));
> +             errx(8, "BAD STATE %d TO BLKERR", GET_ISTATE(ino));
>               /* NOTREACHED */
>       }
>  }
> Index: main.c
> ===================================================================
> RCS file: /cvs/src/sbin/fsck_ffs/main.c,v
> retrieving revision 1.44
> diff -u -p -r1.44 main.c
> --- main.c    7 Feb 2015 02:09:13 -0000       1.44
> +++ main.c    19 Sep 2015 19:09:19 -0000
> @@ -38,6 +38,7 @@
>  #include <stdlib.h>
>  #include <string.h>
>  #include <ctype.h>
> +#include <err.h>
>  #include <stdio.h>
>  #include <unistd.h>
>  
> @@ -77,8 +78,7 @@ main(int argc, char *argv[])
>                       skipclean = 0;
>                       cvtlevel = argtoi('c', "conversion level", optarg, 10);
>                       if (cvtlevel < 3)
> -                             errexit("cannot do level %d conversion\n",
> -                                 cvtlevel);
> +                             errx(8, "cannot do level %d conversion", 
> cvtlevel);
>                       break;
>  
>               case 'd':
> @@ -92,7 +92,7 @@ main(int argc, char *argv[])
>               case 'm':
>                       lfmode = argtoi('m', "mode", optarg, 8);
>                       if (lfmode &~ 07777)
> -                             errexit("bad mode to -m: %o\n", lfmode);
> +                             errx(8, "bad mode to -m: %o", lfmode);
>                       printf("** lost+found creation mode %o\n", lfmode);
>                       break;
>  
> @@ -109,8 +109,8 @@ main(int argc, char *argv[])
>                       break;
>  
>               default:
> -                     errexit("usage: %s [-fnpy] [-b block#] [-c level] "
> -                         "[-m mode] filesystem ...\n", __progname);
> +                     errx(8, "usage: %s [-fnpy] [-b block#] [-c level] "
> +                         "[-m mode] filesystem ...", __progname);
>               }
>       }
>       argc -= optind;
> @@ -139,7 +139,7 @@ argtoi(int flag, char *req, char *str, i
>  
>       ret = (int)strtol(str, &cp, base);
>       if (cp == str || *cp)
> -             errexit("-%c flag requires a %s\n", flag, req);
> +             errx(8, "-%c flag requires a %s", flag, req);
>       return (ret);
>  }
>  
> Index: pass1.c
> ===================================================================
> RCS file: /cvs/src/sbin/fsck_ffs/pass1.c,v
> retrieving revision 1.43
> diff -u -p -r1.43 pass1.c
> --- pass1.c   22 Aug 2015 06:00:27 -0000      1.43
> +++ pass1.c   19 Sep 2015 19:09:19 -0000
> @@ -36,6 +36,7 @@
>  #include <ufs/ufs/dir.h>
>  #include <ufs/ffs/fs.h>
>  
> +#include <err.h>
>  #include <stdio.h>
>  #include <stdlib.h>
>  #include <string.h>
> @@ -140,7 +141,7 @@ pass1(void)
>               info = calloc((unsigned)inosused, sizeof(struct inostat));
>               inospace = (unsigned)inosused * sizeof(struct inostat);
>               if (info == NULL)
> -                     errexit("cannot alloc %zu bytes for inoinfo", inospace);
> +                     errx(8, "cannot alloc %zu bytes for inoinfo", inospace);
>               inostathead[c].il_stat = info;
>               /*
>                * Scan the allocated inodes.
> @@ -302,7 +303,7 @@ checkinode(ino_t inumber, struct inodesc
>                       pfatal("LINK COUNT TABLE OVERFLOW");
>                       if (reply("CONTINUE") == 0) {
>                               ckfini(0);
> -                             errexit("%s", "");
> +                             exit(8);
>                       }
>               } else {
>                       zlnp->zlncnt = inumber;
> @@ -365,7 +366,7 @@ pass1check(struct inodesc *idesc)
>                               printf(" (SKIPPING)\n");
>                       else if (reply("CONTINUE") == 0) {
>                               ckfini(0);
> -                             errexit("%s", "");
> +                             exit(8);
>                       }
>                       return (STOP);
>               }
> @@ -385,7 +386,7 @@ pass1check(struct inodesc *idesc)
>                                       printf(" (SKIPPING)\n");
>                               else if (reply("CONTINUE") == 0) {
>                                       ckfini(0);
> -                                     errexit("%s", "");
> +                                     exit(8);
>                               }
>                               return (STOP);
>                       }
> @@ -394,7 +395,7 @@ pass1check(struct inodesc *idesc)
>                               pfatal("DUP TABLE OVERFLOW.");
>                               if (reply("CONTINUE") == 0) {
>                                       ckfini(0);
> -                                     errexit("%s", "");
> +                                     exit(8);
>                               }
>                               return (STOP);
>                       }
> Index: pass2.c
> ===================================================================
> RCS file: /cvs/src/sbin/fsck_ffs/pass2.c,v
> retrieving revision 1.37
> diff -u -p -r1.37 pass2.c
> --- pass2.c   20 Jan 2015 18:22:21 -0000      1.37
> +++ pass2.c   19 Sep 2015 19:09:19 -0000
> @@ -36,6 +36,7 @@
>  #include <ufs/ufs/dir.h>
>  #include <ufs/ffs/fs.h>
>  
> +#include <err.h>
>  #include <stdio.h>
>  #include <stdlib.h>
>  #include <string.h>
> @@ -86,10 +87,10 @@ pass2(void)
>               pfatal("ROOT INODE UNALLOCATED");
>               if (reply("ALLOCATE") == 0) {
>                       ckfini(0);
> -                     errexit("%s", "");
> +                     exit(8);
>               }
>               if (allocdir(ROOTINO, ROOTINO, 0755) != ROOTINO)
> -                     errexit("CANNOT ALLOCATE ROOT INODE\n");
> +                     errx(8, "CANNOT ALLOCATE ROOT INODE");
>               break;
>  
>       case DCLEAR:
> @@ -97,12 +98,12 @@ pass2(void)
>               if (reply("REALLOCATE")) {
>                       freeino(ROOTINO);
>                       if (allocdir(ROOTINO, ROOTINO, 0755) != ROOTINO)
> -                             errexit("CANNOT ALLOCATE ROOT INODE\n");
> +                             errx(8, "CANNOT ALLOCATE ROOT INODE");
>                       break;
>               }
>               if (reply("CONTINUE") == 0) {
>                       ckfini(0);
> -                     errexit("%s", "");
> +                     exit(8);
>               }
>               break;
>  
> @@ -112,12 +113,12 @@ pass2(void)
>               if (reply("REALLOCATE")) {
>                       freeino(ROOTINO);
>                       if (allocdir(ROOTINO, ROOTINO, 0755) != ROOTINO)
> -                             errexit("CANNOT ALLOCATE ROOT INODE\n");
> +                             errx(8, "CANNOT ALLOCATE ROOT INODE");
>                       break;
>               }
>               if (reply("FIX") == 0) {
>                       ckfini(0);
> -                     errexit("%s", "");
> +                     exit(8);
>               }
>               dp = ginode(ROOTINO);
>               DIP_SET(dp, di_mode, DIP(dp, di_mode) & ~IFMT);
> @@ -129,7 +130,7 @@ pass2(void)
>               break;
>  
>       default:
> -             errexit("BAD STATE %d FOR ROOT INODE\n", GET_ISTATE(ROOTINO));
> +             errx(8, "BAD STATE %d FOR ROOT INODE", GET_ISTATE(ROOTINO));
>       }
>       SET_ISTATE(ROOTINO, DFOUND);
>       /*
> @@ -453,7 +454,7 @@ again:
>                       break;
>  
>               default:
> -                     errexit("BAD STATE %d FOR INODE I=%llu\n",
> +                     errx(8, "BAD STATE %d FOR INODE I=%llu",
>                           GET_ISTATE(dirp->d_ino),
>                           (unsigned long long)dirp->d_ino);
>               }
> Index: pass4.c
> ===================================================================
> RCS file: /cvs/src/sbin/fsck_ffs/pass4.c,v
> retrieving revision 1.24
> diff -u -p -r1.24 pass4.c
> --- pass4.c   20 Jan 2015 18:22:21 -0000      1.24
> +++ pass4.c   19 Sep 2015 19:09:19 -0000
> @@ -34,6 +34,7 @@
>  #include <sys/time.h>
>  #include <ufs/ufs/dinode.h>
>  #include <ufs/ffs/fs.h>
> +#include <err.h>
>  #include <stdio.h>
>  #include <stdlib.h>
>  #include <string.h>
> @@ -110,7 +111,7 @@ pass4(void)
>                               break;
>  
>                       default:
> -                             errexit("BAD STATE %d FOR INODE I=%llu\n",
> +                             errx(8, "BAD STATE %d FOR INODE I=%llu",
>                                   GET_ISTATE(inumber),
>                                   (unsigned long long)inumber);
>                       }
> Index: pass5.c
> ===================================================================
> RCS file: /cvs/src/sbin/fsck_ffs/pass5.c,v
> retrieving revision 1.48
> diff -u -p -r1.48 pass5.c
> --- pass5.c   20 Jan 2015 18:22:21 -0000      1.48
> +++ pass5.c   19 Sep 2015 19:09:19 -0000
> @@ -38,6 +38,7 @@
>  #include <ufs/ufs/quota.h>
>  #include <ufs/ufs/inode.h>
>  #include <ufs/ffs/ffs_extern.h>
> +#include <err.h>
>  #include <stdio.h>
>  #include <string.h>
>  #include <limits.h>
> @@ -162,7 +163,7 @@ pass5(void)
>  
>       default:
>               inomapsize = blkmapsize = sumsize = 0;
> -             errexit("UNKNOWN ROTATIONAL TABLE FORMAT %d\n",
> +             errx(8, "UNKNOWN ROTATIONAL TABLE FORMAT %d",
>                       fs->fs_postblformat);
>       }
>       memset(&idesc[0], 0, sizeof idesc);
> @@ -250,7 +251,7 @@ pass5(void)
>                       default:
>                               if (j < ROOTINO)
>                                       break;
> -                             errexit("BAD STATE %d FOR INODE I=%llu\n",
> +                             errx(8, "BAD STATE %d FOR INODE I=%llu",
>                                   GET_ISTATE(j), (unsigned long long)j);
>                       }
>               }
> Index: setup.c
> ===================================================================
> RCS file: /cvs/src/sbin/fsck_ffs/setup.c,v
> retrieving revision 1.57
> diff -u -p -r1.57 setup.c
> --- setup.c   20 Jan 2015 18:22:21 -0000      1.57
> +++ setup.c   19 Sep 2015 19:09:19 -0000
> @@ -40,6 +40,7 @@
>  #include <sys/dkio.h>
>  #include <sys/disklabel.h>
>  
> +#include <err.h>
>  #include <errno.h>
>  #include <fcntl.h>
>  #include <stdio.h>
> @@ -133,7 +134,7 @@ setup(char *dev)
>       sblk.b_un.b_buf = malloc(SBSIZE);
>       asblk.b_un.b_buf = malloc(SBSIZE);
>       if (sblk.b_un.b_buf == NULL || asblk.b_un.b_buf == NULL)
> -             errexit("cannot allocate space for superblock\n");
> +             errx(8, "cannot allocate space for superblock");
>       if ((lp = getdisklabel(NULL, fsreadfd)) != NULL)
>               secsize = lp->d_secsize;
>       else
> @@ -377,7 +378,7 @@ found:
>                       pfatal("BAD SUMMARY INFORMATION");
>                       if (reply("CONTINUE") == 0) {
>                               ckfini(0);
> -                             errexit("%s", "");
> +                             exit(8);
>                       }
>                       asked++;
>               }
> @@ -652,7 +653,7 @@ getdisklabel(char *s, int fd)
>               if (s == NULL)
>                       return (NULL);
>               pwarn("ioctl (GCINFO): %s\n", strerror(errno));
> -             errexit("%s: can't read disk label\n", s);
> +             errx(8, "%s: can't read disk label", s);
>       }
>       return (&lab);
>  }
> Index: utilities.c
> ===================================================================
> RCS file: /cvs/src/sbin/fsck_ffs/utilities.c,v
> retrieving revision 1.50
> diff -u -p -r1.50 utilities.c
> --- utilities.c       5 Sep 2015 20:07:11 -0000       1.50
> +++ utilities.c       19 Sep 2015 19:09:19 -0000
> @@ -43,6 +43,7 @@
>  #include <ctype.h>
>  #include <unistd.h>
>  #include <limits.h>
> +#include <err.h>
>  #include <errno.h>
>  #include <fcntl.h>
>  #include <paths.h>
> @@ -126,7 +127,7 @@ inoinfo(ino_t inum)
>       int iloff;
>  
>       if (inum > maxino)
> -             errexit("inoinfo: inumber %llu out of range",
> +             errx(8, "inoinfo: inumber %llu out of range",
>                   (unsigned long long)inum);
>       ilp = &inostathead[inum / sblock.fs_ipg];
>       iloff = inum % sblock.fs_ipg;
> @@ -148,7 +149,7 @@ bufinit(void)
>       pbp = pdirbp = NULL;
>       bufp = malloc((unsigned int)sblock.fs_bsize);
>       if (bufp == 0)
> -             errexit("cannot allocate buffer pool\n");
> +             errx(8, "cannot allocate buffer pool");
>       cgblk.b_un.b_buf = bufp;
>       initbarea(&cgblk);
>       bufhead.b_next = bufhead.b_prev = &bufhead;
> @@ -163,7 +164,7 @@ bufinit(void)
>                       free(bufp);
>                       if (i >= MINBUFS)
>                               break;
> -                     errexit("cannot allocate buffer pool\n");
> +                     errx(8, "cannot allocate buffer pool");
>               }
>               bp->b_un.b_buf = bufp;
>               bp->b_prev = &bufhead;
> @@ -190,7 +191,7 @@ getdatablk(daddr_t blkno, long size)
>               if ((bp->b_flags & B_INUSE) == 0)
>                       break;
>       if (bp == &bufhead)
> -             errexit("deadlocked buffer pool\n");
> +             errx(8, "deadlocked buffer pool");
>       getblk(bp, blkno, size);
>       /* FALLTHROUGH */
>  foundit:
> @@ -252,7 +253,7 @@ rwerror(char *mesg, daddr_t blk)
>               printf("\n");
>       pfatal("CANNOT %s: BLK %lld", mesg, (long long)blk);
>       if (reply("CONTINUE") == 0)
> -             errexit("Program terminated\n");
> +             errx(8, "Program terminated");
>  }
>  
>  void
> @@ -304,7 +305,7 @@ ckfini(int markclean)
>               free(bp);
>       }
>       if (bufhead.b_size != cnt)
> -             errexit("Panic: lost %d buffers\n", bufhead.b_size - cnt);
> +             errx(8, "Panic: lost %d buffers", bufhead.b_size - cnt);
>       pbp = pdirbp = NULL;
>       if (markclean && (sblock.fs_clean & FS_ISCLEAN) == 0) {
>               /*
> @@ -581,7 +582,7 @@ dofix(struct inodesc *idesc, char *msg)
>               return (0);
>  
>       default:
> -             errexit("UNKNOWN INODESC FIX MODE %d\n", idesc->id_fix);
> +             errx(8, "UNKNOWN INODESC FIX MODE %d", idesc->id_fix);
>       }
>       /* NOTREACHED */
>  }
> 

Reply via email to