Re: [Patch] use exit() directly in usage()

2014-10-01 Thread Fritjof Bornebusch
On Sat, Sep 27, 2014 at 07:10:01PM +0200, Fritjof Bornebusch wrote:
Hi,

 Hi,
 
 after usage() was called, there is no where you can go.


as suggested by otto@ and @nicm, the usage() functions are marked as
__dead.

 fritjof
 

fritjof

Index: ci.c
===
RCS file: /cvs/src/usr.bin/rcs/ci.c,v
retrieving revision 1.217
diff -u -p -r1.217 ci.c
--- ci.c19 May 2014 19:42:24 -  1.217
+++ ci.c1 Oct 2014 08:38:31 -
@@ -89,7 +89,7 @@ static voidcheckin_parsekeyword(char *
 static int  checkin_update(struct checkin_params *);
 static int  checkin_revert(struct checkin_params *);
 
-void
+__dead void
 checkin_usage(void)
 {
fprintf(stderr,
@@ -97,6 +97,8 @@ checkin_usage(void)
  [-j[rev]] [-k[rev]] [-l[rev]] [-M[rev]] [-mmsg]\n
  [-Nsymbol] [-nsymbol] [-r[rev]] [-sstate] [-t[str]]\n
  [-u[rev]] [-wusername] [-xsuffixes] [-ztz] file ...\n);
+
+   exit(1);
 }
 
 /*
@@ -221,7 +223,6 @@ checkin_main(int argc, char **argv)
break;
default:
(usage)();
-   exit(1);
}
}
 
@@ -231,7 +232,6 @@ checkin_main(int argc, char **argv)
if (argc == 0) {
warnx(no input file);
(usage)();
-   exit(1);
}
 
if ((pb.username = getlogin()) == NULL)
Index: co.c
===
RCS file: /cvs/src/usr.bin/rcs/co.c,v
retrieving revision 1.117
diff -u -p -r1.117 co.c
--- co.c16 Apr 2013 20:24:45 -  1.117
+++ co.c1 Oct 2014 08:38:40 -
@@ -79,7 +79,6 @@ checkout_main(int argc, char **argv)
if (RCS_KWEXP_INVAL(kflag)) {
warnx(invalid RCS keyword substitution mode);
(usage)();
-   exit(1);
}
break;
case 'l':
@@ -141,7 +140,6 @@ checkout_main(int argc, char **argv)
break;
default:
(usage)();
-   exit(1);
}
}
 
@@ -151,7 +149,6 @@ checkout_main(int argc, char **argv)
if (argc == 0) {
warnx(no input file);
(usage)();
-   exit (1);
}
 
if ((username = getlogin()) == NULL)
@@ -222,13 +219,15 @@ checkout_main(int argc, char **argv)
return (ret);
 }
 
-void
+__dead void
 checkout_usage(void)
 {
fprintf(stderr,
usage: co [-TV] [-ddate] [-f[rev]] [-I[rev]] [-kmode] [-l[rev]]\n
  [-M[rev]] [-p[rev]] [-q[rev]] [-r[rev]] [-sstate]\n
  [-u[rev]] [-w[user]] [-xsuffixes] [-ztz] file ...\n);
+   
+   exit(1);
 }
 
 /*
Index: merge.c
===
RCS file: /cvs/src/usr.bin/rcs/merge.c,v
retrieving revision 1.7
diff -u -p -r1.7 merge.c
--- merge.c 23 Jul 2010 21:46:05 -  1.7
+++ merge.c 1 Oct 2014 08:38:52 -
@@ -77,7 +77,6 @@ merge_main(int argc, char **argv)
exit(0);
default:
(usage)();
-   exit(D_ERROR);
}
}
argc -= optind;
@@ -86,7 +85,6 @@ merge_main(int argc, char **argv)
if (argc != 3) {
warnx(%s arguments, (argc  3) ? not enough : too many);
(usage)();
-   exit(D_ERROR);
}
 
for (; labels  3; labels++)
@@ -113,9 +111,11 @@ merge_main(int argc, char **argv)
return (status);
 }
 
-void
+__dead void
 merge_usage(void)
 {
(void)fprintf(stderr,
usage: merge [-EepqV] [-L label] file1 file2 file3\n);
+
+   exit(D_ERROR);
 }
Index: rcsclean.c
===
RCS file: /cvs/src/usr.bin/rcs/rcsclean.c,v
retrieving revision 1.52
diff -u -p -r1.52 rcsclean.c
--- rcsclean.c  28 Jul 2010 09:07:11 -  1.52
+++ rcsclean.c  1 Oct 2014 08:39:05 -
@@ -60,7 +60,6 @@ rcsclean_main(int argc, char **argv)
if (RCS_KWEXP_INVAL(kflag)) {
warnx(invalid RCS keyword substitution mode);
(usage)();
-   exit(1);
}
break;
case 'n':
@@ -90,7 +89,6 @@ rcsclean_main(int argc, char **argv)
break;
default:
(usage)();
-   exit(1);
}
}
 
@@ -104,7 +102,6 @@ rcsclean_main(int argc, char **argv)
if ((dirp = opendir(.)) == NULL) {
warn(opendir);
(usage)();
-

Re: [Patch] use exit() directly in usage()

2014-10-01 Thread Nicholas Marriott
Looks good but you have missed out ident.c and rcsprog.c



On Wed, Oct 01, 2014 at 11:19:29AM +0200, Fritjof Bornebusch wrote:
 On Sat, Sep 27, 2014 at 07:10:01PM +0200, Fritjof Bornebusch wrote:
 Hi,
 
  Hi,
  
  after usage() was called, there is no where you can go.
 
 
 as suggested by otto@ and @nicm, the usage() functions are marked as
 __dead.
 
  fritjof
  
 
 fritjof
 
 Index: ci.c
 ===
 RCS file: /cvs/src/usr.bin/rcs/ci.c,v
 retrieving revision 1.217
 diff -u -p -r1.217 ci.c
 --- ci.c  19 May 2014 19:42:24 -  1.217
 +++ ci.c  1 Oct 2014 08:38:31 -
 @@ -89,7 +89,7 @@ static void  checkin_parsekeyword(char *
  static intcheckin_update(struct checkin_params *);
  static intcheckin_revert(struct checkin_params *);
  
 -void
 +__dead void
  checkin_usage(void)
  {
   fprintf(stderr,
 @@ -97,6 +97,8 @@ checkin_usage(void)
 [-j[rev]] [-k[rev]] [-l[rev]] [-M[rev]] [-mmsg]\n
 [-Nsymbol] [-nsymbol] [-r[rev]] [-sstate] [-t[str]]\n
 [-u[rev]] [-wusername] [-xsuffixes] [-ztz] file ...\n);
 +
 + exit(1);
  }
  
  /*
 @@ -221,7 +223,6 @@ checkin_main(int argc, char **argv)
   break;
   default:
   (usage)();
 - exit(1);
   }
   }
  
 @@ -231,7 +232,6 @@ checkin_main(int argc, char **argv)
   if (argc == 0) {
   warnx(no input file);
   (usage)();
 - exit(1);
   }
  
   if ((pb.username = getlogin()) == NULL)
 Index: co.c
 ===
 RCS file: /cvs/src/usr.bin/rcs/co.c,v
 retrieving revision 1.117
 diff -u -p -r1.117 co.c
 --- co.c  16 Apr 2013 20:24:45 -  1.117
 +++ co.c  1 Oct 2014 08:38:40 -
 @@ -79,7 +79,6 @@ checkout_main(int argc, char **argv)
   if (RCS_KWEXP_INVAL(kflag)) {
   warnx(invalid RCS keyword substitution mode);
   (usage)();
 - exit(1);
   }
   break;
   case 'l':
 @@ -141,7 +140,6 @@ checkout_main(int argc, char **argv)
   break;
   default:
   (usage)();
 - exit(1);
   }
   }
  
 @@ -151,7 +149,6 @@ checkout_main(int argc, char **argv)
   if (argc == 0) {
   warnx(no input file);
   (usage)();
 - exit (1);
   }
  
   if ((username = getlogin()) == NULL)
 @@ -222,13 +219,15 @@ checkout_main(int argc, char **argv)
   return (ret);
  }
  
 -void
 +__dead void
  checkout_usage(void)
  {
   fprintf(stderr,
   usage: co [-TV] [-ddate] [-f[rev]] [-I[rev]] [-kmode] [-l[rev]]\n
 [-M[rev]] [-p[rev]] [-q[rev]] [-r[rev]] [-sstate]\n
 [-u[rev]] [-w[user]] [-xsuffixes] [-ztz] file ...\n);
 + 
 + exit(1);
  }
  
  /*
 Index: merge.c
 ===
 RCS file: /cvs/src/usr.bin/rcs/merge.c,v
 retrieving revision 1.7
 diff -u -p -r1.7 merge.c
 --- merge.c   23 Jul 2010 21:46:05 -  1.7
 +++ merge.c   1 Oct 2014 08:38:52 -
 @@ -77,7 +77,6 @@ merge_main(int argc, char **argv)
   exit(0);
   default:
   (usage)();
 - exit(D_ERROR);
   }
   }
   argc -= optind;
 @@ -86,7 +85,6 @@ merge_main(int argc, char **argv)
   if (argc != 3) {
   warnx(%s arguments, (argc  3) ? not enough : too many);
   (usage)();
 - exit(D_ERROR);
   }
  
   for (; labels  3; labels++)
 @@ -113,9 +111,11 @@ merge_main(int argc, char **argv)
   return (status);
  }
  
 -void
 +__dead void
  merge_usage(void)
  {
   (void)fprintf(stderr,
   usage: merge [-EepqV] [-L label] file1 file2 file3\n);
 +
 + exit(D_ERROR);
  }
 Index: rcsclean.c
 ===
 RCS file: /cvs/src/usr.bin/rcs/rcsclean.c,v
 retrieving revision 1.52
 diff -u -p -r1.52 rcsclean.c
 --- rcsclean.c28 Jul 2010 09:07:11 -  1.52
 +++ rcsclean.c1 Oct 2014 08:39:05 -
 @@ -60,7 +60,6 @@ rcsclean_main(int argc, char **argv)
   if (RCS_KWEXP_INVAL(kflag)) {
   warnx(invalid RCS keyword substitution mode);
   (usage)();
 - exit(1);
   }
   break;
   case 'n':
 @@ -90,7 +89,6 @@ rcsclean_main(int argc, char **argv)
   break;
   default:
   (usage)();
 - exit(1);
   }
   }
  
 @@ -104,7 +102,6 @@ rcsclean_main(int argc, char 

Re: [Patch] use exit() directly in usage()

2014-10-01 Thread Fritjof Bornebusch
On Wed, Oct 01, 2014 at 06:41:25PM +0100, Nicholas Marriott wrote:
 Looks good but you have missed out ident.c and rcsprog.c


Ups, sorry.
 
 
 
 On Wed, Oct 01, 2014 at 11:19:29AM +0200, Fritjof Bornebusch wrote:
  On Sat, Sep 27, 2014 at 07:10:01PM +0200, Fritjof Bornebusch wrote:
  Hi,
  
   Hi,
   
   after usage() was called, there is no where you can go.
  
  
  as suggested by otto@ and @nicm, the usage() functions are marked as
  __dead.
  
   fritjof
   
  
  fritjof
 

fritjof

Index: ci.c
===
RCS file: /cvs/src/usr.bin/rcs/ci.c,v
retrieving revision 1.217
diff -u -p -r1.217 ci.c
--- ci.c19 May 2014 19:42:24 -  1.217
+++ ci.c1 Oct 2014 08:38:31 -
@@ -89,7 +89,7 @@ static voidcheckin_parsekeyword(char *
 static int  checkin_update(struct checkin_params *);
 static int  checkin_revert(struct checkin_params *);
 
-void
+__dead void
 checkin_usage(void)
 {
fprintf(stderr,
@@ -97,6 +97,8 @@ checkin_usage(void)
  [-j[rev]] [-k[rev]] [-l[rev]] [-M[rev]] [-mmsg]\n
  [-Nsymbol] [-nsymbol] [-r[rev]] [-sstate] [-t[str]]\n
  [-u[rev]] [-wusername] [-xsuffixes] [-ztz] file ...\n);
+
+   exit(1);
 }
 
 /*
@@ -221,7 +223,6 @@ checkin_main(int argc, char **argv)
break;
default:
(usage)();
-   exit(1);
}
}
 
@@ -231,7 +232,6 @@ checkin_main(int argc, char **argv)
if (argc == 0) {
warnx(no input file);
(usage)();
-   exit(1);
}
 
if ((pb.username = getlogin()) == NULL)
Index: co.c
===
RCS file: /cvs/src/usr.bin/rcs/co.c,v
retrieving revision 1.117
diff -u -p -r1.117 co.c
--- co.c16 Apr 2013 20:24:45 -  1.117
+++ co.c1 Oct 2014 08:38:40 -
@@ -79,7 +79,6 @@ checkout_main(int argc, char **argv)
if (RCS_KWEXP_INVAL(kflag)) {
warnx(invalid RCS keyword substitution mode);
(usage)();
-   exit(1);
}
break;
case 'l':
@@ -141,7 +140,6 @@ checkout_main(int argc, char **argv)
break;
default:
(usage)();
-   exit(1);
}
}
 
@@ -151,7 +149,6 @@ checkout_main(int argc, char **argv)
if (argc == 0) {
warnx(no input file);
(usage)();
-   exit (1);
}
 
if ((username = getlogin()) == NULL)
@@ -222,13 +219,15 @@ checkout_main(int argc, char **argv)
return (ret);
 }
 
-void
+__dead void
 checkout_usage(void)
 {
fprintf(stderr,
usage: co [-TV] [-ddate] [-f[rev]] [-I[rev]] [-kmode] [-l[rev]]\n
  [-M[rev]] [-p[rev]] [-q[rev]] [-r[rev]] [-sstate]\n
  [-u[rev]] [-w[user]] [-xsuffixes] [-ztz] file ...\n);
+   
+   exit(1);
 }
 
 /*
Index: merge.c
===
RCS file: /cvs/src/usr.bin/rcs/merge.c,v
retrieving revision 1.7
diff -u -p -r1.7 merge.c
--- merge.c 23 Jul 2010 21:46:05 -  1.7
+++ merge.c 1 Oct 2014 08:38:52 -
@@ -77,7 +77,6 @@ merge_main(int argc, char **argv)
exit(0);
default:
(usage)();
-   exit(D_ERROR);
}
}
argc -= optind;
@@ -86,7 +85,6 @@ merge_main(int argc, char **argv)
if (argc != 3) {
warnx(%s arguments, (argc  3) ? not enough : too many);
(usage)();
-   exit(D_ERROR);
}
 
for (; labels  3; labels++)
@@ -113,9 +111,11 @@ merge_main(int argc, char **argv)
return (status);
 }
 
-void
+__dead void
 merge_usage(void)
 {
(void)fprintf(stderr,
usage: merge [-EepqV] [-L label] file1 file2 file3\n);
+
+   exit(D_ERROR);
 }
Index: rcsclean.c
===
RCS file: /cvs/src/usr.bin/rcs/rcsclean.c,v
retrieving revision 1.52
diff -u -p -r1.52 rcsclean.c
--- rcsclean.c  28 Jul 2010 09:07:11 -  1.52
+++ rcsclean.c  1 Oct 2014 08:39:05 -
@@ -60,7 +60,6 @@ rcsclean_main(int argc, char **argv)
if (RCS_KWEXP_INVAL(kflag)) {
warnx(invalid RCS keyword substitution mode);
(usage)();
-   exit(1);
}
break;
case 'n':
@@ -90,7 +89,6 @@ rcsclean_main(int argc, char **argv)
break;
default:

Re: [Patch] use exit() directly in usage()

2014-10-01 Thread Nicholas Marriott
Please do not change to EXIT_FAILURE.

 Original message 
From: Kent R. Spillner kspill...@acm.org 
Date: 01/10/2014  23:41  (GMT+00:00) 
To: Fritjof Bornebusch frit...@alokat.org 
Cc: Nicholas Marriott 
nicholas.marri...@gmail.com,tech@openbsd.org,o...@openbsd.org 
Subject: Re: [Patch] use exit() directly in usage() 
 
ok kspillner@.  It would be nice to replace some of those exit(1) with 
exit(EXIT_FAILURE), but that should be a separate diff that also updates the 
err/errx's as well.


 On Oct 1, 2014, at 13:06, Fritjof Bornebusch frit...@alokat.org wrote:
 
 On Wed, Oct 01, 2014 at 06:41:25PM +0100, Nicholas Marriott wrote:
 Looks good but you have missed out ident.c and rcsprog.c
 
 Ups, sorry.
 
 
 
 On Wed, Oct 01, 2014 at 11:19:29AM +0200, Fritjof Bornebusch wrote:
 On Sat, Sep 27, 2014 at 07:10:01PM +0200, Fritjof Bornebusch wrote:
 Hi,
 
 Hi,
 
 after usage() was called, there is no where you can go.
 
 as suggested by otto@ and @nicm, the usage() functions are marked as
 __dead.
 
 fritjof
 
 fritjof
 
 fritjof
 
 Index: ci.c
 ===
 RCS file: /cvs/src/usr.bin/rcs/ci.c,v
 retrieving revision 1.217
 diff -u -p -r1.217 ci.c
 --- ci.c    19 May 2014 19:42:24 -    1.217
 +++ ci.c    1 Oct 2014 08:38:31 -
 @@ -89,7 +89,7 @@ static void checkin_parsekeyword(char *
 static int checkin_update(struct checkin_params *);
 static int checkin_revert(struct checkin_params *);
 
 -void
 +__dead void
 checkin_usage(void)
 {
    fprintf(stderr,
 @@ -97,6 +97,8 @@ checkin_usage(void)
      [-j[rev]] [-k[rev]] [-l[rev]] [-M[rev]] [-mmsg]\n
      [-Nsymbol] [-nsymbol] [-r[rev]] [-sstate] [-t[str]]\n
      [-u[rev]] [-wusername] [-xsuffixes] [-ztz] file ...\n);
 +
 +    exit(1);
 }
 
 /*
 @@ -221,7 +223,6 @@ checkin_main(int argc, char **argv)
    break;
    default:
    (usage)();
 -    exit(1);
    }
    }
 
 @@ -231,7 +232,6 @@ checkin_main(int argc, char **argv)
    if (argc == 0) {
    warnx(no input file);
    (usage)();
 -    exit(1);
    }
 
    if ((pb.username = getlogin()) == NULL)
 Index: co.c
 ===
 RCS file: /cvs/src/usr.bin/rcs/co.c,v
 retrieving revision 1.117
 diff -u -p -r1.117 co.c
 --- co.c    16 Apr 2013 20:24:45 -    1.117
 +++ co.c    1 Oct 2014 08:38:40 -
 @@ -79,7 +79,6 @@ checkout_main(int argc, char **argv)
    if (RCS_KWEXP_INVAL(kflag)) {
    warnx(invalid RCS keyword substitution mode);
    (usage)();
 -    exit(1);
    }
    break;
    case 'l':
 @@ -141,7 +140,6 @@ checkout_main(int argc, char **argv)
    break;
    default:
    (usage)();
 -    exit(1);
    }
    }
 
 @@ -151,7 +149,6 @@ checkout_main(int argc, char **argv)
    if (argc == 0) {
    warnx(no input file);
    (usage)();
 -    exit (1);
    }
 
    if ((username = getlogin()) == NULL)
 @@ -222,13 +219,15 @@ checkout_main(int argc, char **argv)
    return (ret);
 }
 
 -void
 +__dead void
 checkout_usage(void)
 {
    fprintf(stderr,
    usage: co [-TV] [-ddate] [-f[rev]] [-I[rev]] [-kmode] [-l[rev]]\n
      [-M[rev]] [-p[rev]] [-q[rev]] [-r[rev]] [-sstate]\n
      [-u[rev]] [-w[user]] [-xsuffixes] [-ztz] file ...\n);
 +    
 +    exit(1);
 }
 
 /*
 Index: merge.c
 ===
 RCS file: /cvs/src/usr.bin/rcs/merge.c,v
 retrieving revision 1.7
 diff -u -p -r1.7 merge.c
 --- merge.c    23 Jul 2010 21:46:05 -    1.7
 +++ merge.c    1 Oct 2014 08:38:52 -
 @@ -77,7 +77,6 @@ merge_main(int argc, char **argv)
    exit(0);
    default:
    (usage)();
 -    exit(D_ERROR);
    }
    }
    argc -= optind;
 @@ -86,7 +85,6 @@ merge_main(int argc, char **argv)
    if (argc != 3) {
    warnx(%s arguments, (argc  3) ? not enough : too many);
    (usage)();
 -    exit(D_ERROR);
    }
 
    for (; labels  3; labels++)
 @@ -113,9 +111,11 @@ merge_main(int argc, char **argv)
    return (status);
 }
 
 -void
 +__dead void
 merge_usage(void)
 {
    (void)fprintf(stderr,
    usage: merge [-EepqV] [-L label] file1 file2 file3\n);
 +
 +    exit(D_ERROR);
 }
 Index: rcsclean.c
 ===
 RCS file: /cvs/src/usr.bin/rcs/rcsclean.c,v
 retrieving revision 1.52
 diff -u -p -r1.52 rcsclean.c
 --- rcsclean.c    28 Jul 2010 09:07:11 -    1.52
 +++ rcsclean.c    1 Oct 2014 08:39:05 -
 @@ -60,7 +60,6 @@ rcsclean_main(int argc, char **argv)
    if (RCS_KWEXP_INVAL(kflag)) {
    warnx(invalid RCS keyword substitution mode);
    (usage)();
 -    exit(1);
    }
    break;
    case 'n':
 @@ -90,7 +89,6 @@ rcsclean_main(int argc, char **argv

Re: [Patch] use exit() directly in usage()

2014-10-01 Thread Kent R. Spillner
ok kspillner@.  It would be nice to replace some of those exit(1) with 
exit(EXIT_FAILURE), but that should be a separate diff that also updates the 
err/errx's as well.


 On Oct 1, 2014, at 13:06, Fritjof Bornebusch frit...@alokat.org wrote:
 
 On Wed, Oct 01, 2014 at 06:41:25PM +0100, Nicholas Marriott wrote:
 Looks good but you have missed out ident.c and rcsprog.c
 
 Ups, sorry.
 
 
 
 On Wed, Oct 01, 2014 at 11:19:29AM +0200, Fritjof Bornebusch wrote:
 On Sat, Sep 27, 2014 at 07:10:01PM +0200, Fritjof Bornebusch wrote:
 Hi,
 
 Hi,
 
 after usage() was called, there is no where you can go.
 
 as suggested by otto@ and @nicm, the usage() functions are marked as
 __dead.
 
 fritjof
 
 fritjof
 
 fritjof
 
 Index: ci.c
 ===
 RCS file: /cvs/src/usr.bin/rcs/ci.c,v
 retrieving revision 1.217
 diff -u -p -r1.217 ci.c
 --- ci.c19 May 2014 19:42:24 -1.217
 +++ ci.c1 Oct 2014 08:38:31 -
 @@ -89,7 +89,7 @@ static void checkin_parsekeyword(char *
 static int checkin_update(struct checkin_params *);
 static int checkin_revert(struct checkin_params *);
 
 -void
 +__dead void
 checkin_usage(void)
 {
fprintf(stderr,
 @@ -97,6 +97,8 @@ checkin_usage(void)
  [-j[rev]] [-k[rev]] [-l[rev]] [-M[rev]] [-mmsg]\n
  [-Nsymbol] [-nsymbol] [-r[rev]] [-sstate] [-t[str]]\n
  [-u[rev]] [-wusername] [-xsuffixes] [-ztz] file ...\n);
 +
 +exit(1);
 }
 
 /*
 @@ -221,7 +223,6 @@ checkin_main(int argc, char **argv)
break;
default:
(usage)();
 -exit(1);
}
}
 
 @@ -231,7 +232,6 @@ checkin_main(int argc, char **argv)
if (argc == 0) {
warnx(no input file);
(usage)();
 -exit(1);
}
 
if ((pb.username = getlogin()) == NULL)
 Index: co.c
 ===
 RCS file: /cvs/src/usr.bin/rcs/co.c,v
 retrieving revision 1.117
 diff -u -p -r1.117 co.c
 --- co.c16 Apr 2013 20:24:45 -1.117
 +++ co.c1 Oct 2014 08:38:40 -
 @@ -79,7 +79,6 @@ checkout_main(int argc, char **argv)
if (RCS_KWEXP_INVAL(kflag)) {
warnx(invalid RCS keyword substitution mode);
(usage)();
 -exit(1);
}
break;
case 'l':
 @@ -141,7 +140,6 @@ checkout_main(int argc, char **argv)
break;
default:
(usage)();
 -exit(1);
}
}
 
 @@ -151,7 +149,6 @@ checkout_main(int argc, char **argv)
if (argc == 0) {
warnx(no input file);
(usage)();
 -exit (1);
}
 
if ((username = getlogin()) == NULL)
 @@ -222,13 +219,15 @@ checkout_main(int argc, char **argv)
return (ret);
 }
 
 -void
 +__dead void
 checkout_usage(void)
 {
fprintf(stderr,
usage: co [-TV] [-ddate] [-f[rev]] [-I[rev]] [-kmode] [-l[rev]]\n
  [-M[rev]] [-p[rev]] [-q[rev]] [-r[rev]] [-sstate]\n
  [-u[rev]] [-w[user]] [-xsuffixes] [-ztz] file ...\n);
 +
 +exit(1);
 }
 
 /*
 Index: merge.c
 ===
 RCS file: /cvs/src/usr.bin/rcs/merge.c,v
 retrieving revision 1.7
 diff -u -p -r1.7 merge.c
 --- merge.c23 Jul 2010 21:46:05 -1.7
 +++ merge.c1 Oct 2014 08:38:52 -
 @@ -77,7 +77,6 @@ merge_main(int argc, char **argv)
exit(0);
default:
(usage)();
 -exit(D_ERROR);
}
}
argc -= optind;
 @@ -86,7 +85,6 @@ merge_main(int argc, char **argv)
if (argc != 3) {
warnx(%s arguments, (argc  3) ? not enough : too many);
(usage)();
 -exit(D_ERROR);
}
 
for (; labels  3; labels++)
 @@ -113,9 +111,11 @@ merge_main(int argc, char **argv)
return (status);
 }
 
 -void
 +__dead void
 merge_usage(void)
 {
(void)fprintf(stderr,
usage: merge [-EepqV] [-L label] file1 file2 file3\n);
 +
 +exit(D_ERROR);
 }
 Index: rcsclean.c
 ===
 RCS file: /cvs/src/usr.bin/rcs/rcsclean.c,v
 retrieving revision 1.52
 diff -u -p -r1.52 rcsclean.c
 --- rcsclean.c28 Jul 2010 09:07:11 -1.52
 +++ rcsclean.c1 Oct 2014 08:39:05 -
 @@ -60,7 +60,6 @@ rcsclean_main(int argc, char **argv)
if (RCS_KWEXP_INVAL(kflag)) {
warnx(invalid RCS keyword substitution mode);
(usage)();
 -exit(1);
}
break;
case 'n':
 @@ -90,7 +89,6 @@ rcsclean_main(int argc, char **argv)
break;
default:
(usage)();
 -exit(1);
}
}
 
 @@ -104,7 +102,6 @@ rcsclean_main(int argc, char **argv)
if ((dirp = opendir(.)) == NULL) {
warn(opendir);
(usage)();
 -exit(1);
}
 
while ((dp = readdir(dirp)) != NULL) {
 @@ 

Re: [Patch] use exit() directly in usage()

2014-10-01 Thread Otto Moerbeek
On Wed, Oct 01, 2014 at 05:41:11PM -0500, Kent R. Spillner wrote:

 ok kspillner@.  It would be nice to replace some of those exit(1) with 
 exit(EXIT_FAILURE), but that should be a separate diff that also updates the 
 err/errx's as well.

In general EXIT_XXX is frowned upon in OpenBSD.

-Otto
 
 
  On Oct 1, 2014, at 13:06, Fritjof Bornebusch frit...@alokat.org wrote:
  
  On Wed, Oct 01, 2014 at 06:41:25PM +0100, Nicholas Marriott wrote:
  Looks good but you have missed out ident.c and rcsprog.c
  
  Ups, sorry.
  
  
  
  On Wed, Oct 01, 2014 at 11:19:29AM +0200, Fritjof Bornebusch wrote:
  On Sat, Sep 27, 2014 at 07:10:01PM +0200, Fritjof Bornebusch wrote:
  Hi,
  
  Hi,
  
  after usage() was called, there is no where you can go.
  
  as suggested by otto@ and @nicm, the usage() functions are marked as
  __dead.
  
  fritjof
  
  fritjof
  
  fritjof
  
  Index: ci.c
  ===
  RCS file: /cvs/src/usr.bin/rcs/ci.c,v
  retrieving revision 1.217
  diff -u -p -r1.217 ci.c
  --- ci.c19 May 2014 19:42:24 -1.217
  +++ ci.c1 Oct 2014 08:38:31 -
  @@ -89,7 +89,7 @@ static void checkin_parsekeyword(char *
  static int checkin_update(struct checkin_params *);
  static int checkin_revert(struct checkin_params *);
  
  -void
  +__dead void
  checkin_usage(void)
  {
 fprintf(stderr,
  @@ -97,6 +97,8 @@ checkin_usage(void)
   [-j[rev]] [-k[rev]] [-l[rev]] [-M[rev]] [-mmsg]\n
   [-Nsymbol] [-nsymbol] [-r[rev]] [-sstate] [-t[str]]\n
   [-u[rev]] [-wusername] [-xsuffixes] [-ztz] file ...\n);
  +
  +exit(1);
  }
  
  /*
  @@ -221,7 +223,6 @@ checkin_main(int argc, char **argv)
 break;
 default:
 (usage)();
  -exit(1);
 }
 }
  
  @@ -231,7 +232,6 @@ checkin_main(int argc, char **argv)
 if (argc == 0) {
 warnx(no input file);
 (usage)();
  -exit(1);
 }
  
 if ((pb.username = getlogin()) == NULL)
  Index: co.c
  ===
  RCS file: /cvs/src/usr.bin/rcs/co.c,v
  retrieving revision 1.117
  diff -u -p -r1.117 co.c
  --- co.c16 Apr 2013 20:24:45 -1.117
  +++ co.c1 Oct 2014 08:38:40 -
  @@ -79,7 +79,6 @@ checkout_main(int argc, char **argv)
 if (RCS_KWEXP_INVAL(kflag)) {
 warnx(invalid RCS keyword substitution mode);
 (usage)();
  -exit(1);
 }
 break;
 case 'l':
  @@ -141,7 +140,6 @@ checkout_main(int argc, char **argv)
 break;
 default:
 (usage)();
  -exit(1);
 }
 }
  
  @@ -151,7 +149,6 @@ checkout_main(int argc, char **argv)
 if (argc == 0) {
 warnx(no input file);
 (usage)();
  -exit (1);
 }
  
 if ((username = getlogin()) == NULL)
  @@ -222,13 +219,15 @@ checkout_main(int argc, char **argv)
 return (ret);
  }
  
  -void
  +__dead void
  checkout_usage(void)
  {
 fprintf(stderr,
 usage: co [-TV] [-ddate] [-f[rev]] [-I[rev]] [-kmode] [-l[rev]]\n
   [-M[rev]] [-p[rev]] [-q[rev]] [-r[rev]] [-sstate]\n
   [-u[rev]] [-w[user]] [-xsuffixes] [-ztz] file ...\n);
  +
  +exit(1);
  }
  
  /*
  Index: merge.c
  ===
  RCS file: /cvs/src/usr.bin/rcs/merge.c,v
  retrieving revision 1.7
  diff -u -p -r1.7 merge.c
  --- merge.c23 Jul 2010 21:46:05 -1.7
  +++ merge.c1 Oct 2014 08:38:52 -
  @@ -77,7 +77,6 @@ merge_main(int argc, char **argv)
 exit(0);
 default:
 (usage)();
  -exit(D_ERROR);
 }
 }
 argc -= optind;
  @@ -86,7 +85,6 @@ merge_main(int argc, char **argv)
 if (argc != 3) {
 warnx(%s arguments, (argc  3) ? not enough : too many);
 (usage)();
  -exit(D_ERROR);
 }
  
 for (; labels  3; labels++)
  @@ -113,9 +111,11 @@ merge_main(int argc, char **argv)
 return (status);
  }
  
  -void
  +__dead void
  merge_usage(void)
  {
 (void)fprintf(stderr,
 usage: merge [-EepqV] [-L label] file1 file2 file3\n);
  +
  +exit(D_ERROR);
  }
  Index: rcsclean.c
  ===
  RCS file: /cvs/src/usr.bin/rcs/rcsclean.c,v
  retrieving revision 1.52
  diff -u -p -r1.52 rcsclean.c
  --- rcsclean.c28 Jul 2010 09:07:11 -1.52
  +++ rcsclean.c1 Oct 2014 08:39:05 -
  @@ -60,7 +60,6 @@ rcsclean_main(int argc, char **argv)
 if (RCS_KWEXP_INVAL(kflag)) {
 warnx(invalid RCS keyword substitution mode);
 (usage)();
  -exit(1);
 }
 break;
 case 'n':
  @@ -90,7 +89,6 @@ rcsclean_main(int argc, char **argv)
 break;
 default:
  

Re: [Patch] use exit() directly in usage()

2014-09-30 Thread Nicholas Marriott
If we do this then these usage functions also need to be marked __dead.



On Sat, Sep 27, 2014 at 07:10:01PM +0200, Fritjof Bornebusch wrote:
 Hi,
 
 after usage() was called, there is no where you can go.
 
 fritjof
 
 
 Index: ci.c
 ===
 RCS file: /cvs/src/usr.bin/rcs/ci.c,v
 retrieving revision 1.217
 diff -u -p -r1.217 ci.c
 --- ci.c  19 May 2014 19:42:24 -  1.217
 +++ ci.c  2 Jun 2014 22:18:25 -
 @@ -97,6 +97,8 @@ checkin_usage(void)
 [-j[rev]] [-k[rev]] [-l[rev]] [-M[rev]] [-mmsg]\n
 [-Nsymbol] [-nsymbol] [-r[rev]] [-sstate] [-t[str]]\n
 [-u[rev]] [-wusername] [-xsuffixes] [-ztz] file ...\n);
 +
 + exit(1);
  }
  
  /*
 @@ -221,7 +223,6 @@ checkin_main(int argc, char **argv)
   break;
   default:
   (usage)();
 - exit(1);
   }
   }
  
 @@ -231,7 +232,6 @@ checkin_main(int argc, char **argv)
   if (argc == 0) {
   warnx(no input file);
   (usage)();
 - exit(1);
   }
  
   if ((pb.username = getlogin()) == NULL)
 Index: co.c
 ===
 RCS file: /cvs/src/usr.bin/rcs/co.c,v
 retrieving revision 1.117
 diff -u -p -r1.117 co.c
 --- co.c  16 Apr 2013 20:24:45 -  1.117
 +++ co.c  2 Jun 2014 22:19:38 -
 @@ -79,7 +79,6 @@ checkout_main(int argc, char **argv)
   if (RCS_KWEXP_INVAL(kflag)) {
   warnx(invalid RCS keyword substitution mode);
   (usage)();
 - exit(1);
   }
   break;
   case 'l':
 @@ -141,7 +140,6 @@ checkout_main(int argc, char **argv)
   break;
   default:
   (usage)();
 - exit(1);
   }
   }
  
 @@ -151,7 +149,6 @@ checkout_main(int argc, char **argv)
   if (argc == 0) {
   warnx(no input file);
   (usage)();
 - exit (1);
   }
  
   if ((username = getlogin()) == NULL)
 @@ -229,6 +226,8 @@ checkout_usage(void)
   usage: co [-TV] [-ddate] [-f[rev]] [-I[rev]] [-kmode] [-l[rev]]\n
 [-M[rev]] [-p[rev]] [-q[rev]] [-r[rev]] [-sstate]\n
 [-u[rev]] [-w[user]] [-xsuffixes] [-ztz] file ...\n);
 +
 + exit(1);
  }
  
  /*
 Index: merge.c
 ===
 RCS file: /cvs/src/usr.bin/rcs/merge.c,v
 retrieving revision 1.7
 diff -u -p -r1.7 merge.c
 --- merge.c   23 Jul 2010 21:46:05 -  1.7
 +++ merge.c   2 Jun 2014 22:20:55 -
 @@ -77,7 +77,6 @@ merge_main(int argc, char **argv)
   exit(0);
   default:
   (usage)();
 - exit(D_ERROR);
   }
   }
   argc -= optind;
 @@ -86,7 +85,6 @@ merge_main(int argc, char **argv)
   if (argc != 3) {
   warnx(%s arguments, (argc  3) ? not enough : too many);
   (usage)();
 - exit(D_ERROR);
   }
  
   for (; labels  3; labels++)
 @@ -118,4 +116,6 @@ merge_usage(void)
  {
   (void)fprintf(stderr,
   usage: merge [-EepqV] [-L label] file1 file2 file3\n);
 +
 + exit(D_ERROR);
  }
 Index: rcsclean.c
 ===
 RCS file: /cvs/src/usr.bin/rcs/rcsclean.c,v
 retrieving revision 1.52
 diff -u -p -r1.52 rcsclean.c
 --- rcsclean.c28 Jul 2010 09:07:11 -  1.52
 +++ rcsclean.c2 Jun 2014 22:22:05 -
 @@ -60,7 +60,6 @@ rcsclean_main(int argc, char **argv)
   if (RCS_KWEXP_INVAL(kflag)) {
   warnx(invalid RCS keyword substitution mode);
   (usage)();
 - exit(1);
   }
   break;
   case 'n':
 @@ -90,7 +89,6 @@ rcsclean_main(int argc, char **argv)
   break;
   default:
   (usage)();
 - exit(1);
   }
   }
  
 @@ -104,7 +102,6 @@ rcsclean_main(int argc, char **argv)
   if ((dirp = opendir(.)) == NULL) {
   warn(opendir);
   (usage)();
 - exit(1);
   }
  
   while ((dp = readdir(dirp)) != NULL) {
 @@ -127,6 +124,8 @@ rcsclean_usage(void)
   fprintf(stderr,
   usage: rcsclean [-TV] [-kmode] [-n[rev]] [-q[rev]] [-r[rev]]\n
   [-u[rev]] [-xsuffixes] [-ztz] [file ...]\n);
 +
 + exit(1);
  }
  
  static void
 Index: rcsdiff.c
 ===
 RCS file: /cvs/src/usr.bin/rcs/rcsdiff.c,v
 

Re: [Patch] use exit() directly in usage()

2014-09-30 Thread Otto Moerbeek
On Tue, Sep 30, 2014 at 10:05:00AM +0100, Nicholas Marriott wrote:

 If we do this then these usage functions also need to be marked __dead.

Agreed, Fritjof, can you aadd that to your diff?

-Otto

 
 
 
 On Sat, Sep 27, 2014 at 07:10:01PM +0200, Fritjof Bornebusch wrote:
  Hi,
  
  after usage() was called, there is no where you can go.
  
  fritjof
  
  
  Index: ci.c
  ===
  RCS file: /cvs/src/usr.bin/rcs/ci.c,v
  retrieving revision 1.217
  diff -u -p -r1.217 ci.c
  --- ci.c19 May 2014 19:42:24 -  1.217
  +++ ci.c2 Jun 2014 22:18:25 -
  @@ -97,6 +97,8 @@ checkin_usage(void)
[-j[rev]] [-k[rev]] [-l[rev]] [-M[rev]] [-mmsg]\n
[-Nsymbol] [-nsymbol] [-r[rev]] [-sstate] [-t[str]]\n
[-u[rev]] [-wusername] [-xsuffixes] [-ztz] file ...\n);
  +
  +   exit(1);
   }
   
   /*
  @@ -221,7 +223,6 @@ checkin_main(int argc, char **argv)
  break;
  default:
  (usage)();
  -   exit(1);
  }
  }
   
  @@ -231,7 +232,6 @@ checkin_main(int argc, char **argv)
  if (argc == 0) {
  warnx(no input file);
  (usage)();
  -   exit(1);
  }
   
  if ((pb.username = getlogin()) == NULL)
  Index: co.c
  ===
  RCS file: /cvs/src/usr.bin/rcs/co.c,v
  retrieving revision 1.117
  diff -u -p -r1.117 co.c
  --- co.c16 Apr 2013 20:24:45 -  1.117
  +++ co.c2 Jun 2014 22:19:38 -
  @@ -79,7 +79,6 @@ checkout_main(int argc, char **argv)
  if (RCS_KWEXP_INVAL(kflag)) {
  warnx(invalid RCS keyword substitution mode);
  (usage)();
  -   exit(1);
  }
  break;
  case 'l':
  @@ -141,7 +140,6 @@ checkout_main(int argc, char **argv)
  break;
  default:
  (usage)();
  -   exit(1);
  }
  }
   
  @@ -151,7 +149,6 @@ checkout_main(int argc, char **argv)
  if (argc == 0) {
  warnx(no input file);
  (usage)();
  -   exit (1);
  }
   
  if ((username = getlogin()) == NULL)
  @@ -229,6 +226,8 @@ checkout_usage(void)
  usage: co [-TV] [-ddate] [-f[rev]] [-I[rev]] [-kmode] [-l[rev]]\n
[-M[rev]] [-p[rev]] [-q[rev]] [-r[rev]] [-sstate]\n
[-u[rev]] [-w[user]] [-xsuffixes] [-ztz] file ...\n);
  +
  +   exit(1);
   }
   
   /*
  Index: merge.c
  ===
  RCS file: /cvs/src/usr.bin/rcs/merge.c,v
  retrieving revision 1.7
  diff -u -p -r1.7 merge.c
  --- merge.c 23 Jul 2010 21:46:05 -  1.7
  +++ merge.c 2 Jun 2014 22:20:55 -
  @@ -77,7 +77,6 @@ merge_main(int argc, char **argv)
  exit(0);
  default:
  (usage)();
  -   exit(D_ERROR);
  }
  }
  argc -= optind;
  @@ -86,7 +85,6 @@ merge_main(int argc, char **argv)
  if (argc != 3) {
  warnx(%s arguments, (argc  3) ? not enough : too many);
  (usage)();
  -   exit(D_ERROR);
  }
   
  for (; labels  3; labels++)
  @@ -118,4 +116,6 @@ merge_usage(void)
   {
  (void)fprintf(stderr,
  usage: merge [-EepqV] [-L label] file1 file2 file3\n);
  +
  +   exit(D_ERROR);
   }
  Index: rcsclean.c
  ===
  RCS file: /cvs/src/usr.bin/rcs/rcsclean.c,v
  retrieving revision 1.52
  diff -u -p -r1.52 rcsclean.c
  --- rcsclean.c  28 Jul 2010 09:07:11 -  1.52
  +++ rcsclean.c  2 Jun 2014 22:22:05 -
  @@ -60,7 +60,6 @@ rcsclean_main(int argc, char **argv)
  if (RCS_KWEXP_INVAL(kflag)) {
  warnx(invalid RCS keyword substitution mode);
  (usage)();
  -   exit(1);
  }
  break;
  case 'n':
  @@ -90,7 +89,6 @@ rcsclean_main(int argc, char **argv)
  break;
  default:
  (usage)();
  -   exit(1);
  }
  }
   
  @@ -104,7 +102,6 @@ rcsclean_main(int argc, char **argv)
  if ((dirp = opendir(.)) == NULL) {
  warn(opendir);
  (usage)();
  -   exit(1);
  }
   
  while ((dp = readdir(dirp)) != NULL) {
  @@ -127,6 +124,8 @@ rcsclean_usage(void)
  fprintf(stderr,
  usage: rcsclean [-TV] [-kmode] [-n[rev]] [-q[rev]] [-r[rev]]\n
  [-u[rev]] [-xsuffixes] [-ztz] [file ...]\n);
  +
  +   exit(1);
   }
   
   static void
  Index: