On Tue, Feb 05, 2008 at 06:49:41PM -0500, Mike Frysinger wrote:
> On Tuesday 05 February 2008, Tilman Schmidt wrote:
> 
> > +static void usage(const char *prog)
> > +{
> > +    fprintf(stderr,
> > +       "Usage: %s [ -d78neo12 ] [ -s <speed> ] <ldisc> <device>\n", prog);
> > +    exit(EXIT_FAILURE);
> > +}
> 
> i feel like "prog" should be a program-level static rather than passing 
> around 

 glibc  program_invocation_short_name  ? :-)

> all the time.  you should also pass in the exit status instead of assuming 
> EXIT_FAILURE ... that way you can have -h (for help) exit with 0 while 
> everything else exits with 1.  and mark the function as noreturn.
> 
> > +       fprintf(stderr, "%s: bad line discipline: %s\n", prog, optarg);
> > +       exit(EXIT_FAILURE);
> > ...
> > +   fprintf(stderr, "%s: cannot open %s: %s\n", prog, dev, strerror(errno));
> > +   exit(EXIT_FAILURE);
> > ...
> > +   fprintf(stderr, "%s: %s is not a serial line\n", prog, dev);
> > +   exit(EXIT_FAILURE);
> > ...
> > +   fprintf(stderr, "%s: cannot set %s to exclusive mode: %s\n",
> > +           prog, dev, strerror(errno));
> > +   exit(EXIT_FAILURE);
> > ...
> > +   fprintf(stderr, "%s: cannot get terminal attributes for %s: %s\n",
> > +           prog, dev, strerror(errno));
> > +   exit(EXIT_FAILURE);
> > ...
> > <many more>
> 
> could do with writing an error function and/or macro to make things cleaner

 #include <err.h> ... err()  -- very luxury function:

    err("cannot get terminal attributes for %s", dev);

 that's all...


    Karel

-- 
 Karel Zak  <[EMAIL PROTECTED]>
-
To unsubscribe from this list: send the line "unsubscribe util-linux-ng" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to