Theo Buehler wrote:
> ping.
> 

ok

> On Tue, Dec 08, 2015 at 07:15:39PM +0100, Theo Buehler wrote:
> > On Sat, Nov 07, 2015 at 12:20:42PM +0100, Tobias Stoeckmann wrote:
> > > Based on Todd's patch for at and cron, I did a grep through our base
> > > tree to see if there are more occurrences of self-made __progname
> > > handling.
> > 
> > A few more of those:
> > 
> > Index: caesar/caesar.c
> > ===================================================================
> > RCS file: /var/cvs/src/games/caesar/caesar.c,v
> > retrieving revision 1.17
> > diff -u -p -r1.17 caesar.c
> > --- caesar/caesar.c 14 Oct 2015 08:12:12 -0000      1.17
> > +++ caesar/caesar.c 8 Dec 2015 17:40:00 -0000
> > @@ -69,7 +69,8 @@ int
> >  main(int argc, char *argv[])
> >  {
> >     int ch, i, nread;
> > -   char *inbuf, *p, **av;
> > +   extern char *__progname;
> > +   char *inbuf;
> >     int obs[26], try, winner;
> >     double dot, winnerdot;
> >  
> > @@ -77,11 +78,7 @@ main(int argc, char *argv[])
> >             err(1, "pledge");
> >  
> >     /* check to see if we were called as rot13 */
> > -   av = argv;
> > -   p = strrchr(*av, '/');
> > -   if (p++ == NULL)
> > -           p = *av;
> > -   if (strcmp(p,"rot13") == 0)
> > +   if (strcmp(__progname, "rot13") == 0)
> >             printit(13);
> >  
> >     if (argc > 1) {
> > Index: hack/hack.end.c
> > ===================================================================
> > RCS file: /var/cvs/src/games/hack/hack.end.c,v
> > retrieving revision 1.13
> > diff -u -p -r1.13 hack.end.c
> > --- hack/hack.end.c 24 Oct 2015 18:26:13 -0000      1.13
> > +++ hack/hack.end.c 8 Dec 2015 17:53:00 -0000
> > @@ -613,7 +613,7 @@ charcat(char *s, char c)
> >  void
> >  prscore(int argc, char **argv)
> >  {
> > -   extern char *hname;
> > +   extern char *__progname;
> >     char **players;
> >     int playerct;
> >     int rank;
> > @@ -699,7 +699,7 @@ prscore(int argc, char **argv)
> >               if(playerct > 1) printf("any of ");
> >               for(i=0; i<playerct; i++)
> >                     printf("%s%s", players[i], (i<playerct-1)?", ":".\n");
> > -             printf("Call is: %s -s [playernames]\n", hname);
> > +             printf("Call is: %s -s [playernames]\n", __progname);
> >             }
> >         }
> >         return;
> > Index: hack/hack.main.c
> > ===================================================================
> > RCS file: /var/cvs/src/games/hack/hack.main.c,v
> > retrieving revision 1.18
> > diff -u -p -r1.18 hack.main.c
> > --- hack/hack.main.c        4 Nov 2015 21:22:10 -0000       1.18
> > +++ hack/hack.main.c        8 Dec 2015 17:54:14 -0000
> > @@ -90,7 +90,6 @@ int locknum;                              /* max num of 
> > players */
> >  char *catmore;                             /* default pager */
> >  #endif
> >  char SAVEF[PL_NSIZ + 11] = "save/";        /* save/99999player */
> > -char *hname;               /* name of the game (argv[0] of call) */
> >  char obuf[BUFSIZ]; /* BUFSIZ is defined in stdio.h */
> >  
> >  extern char *nomovemsg;
> > @@ -103,12 +102,12 @@ static void chdirx(char *, boolean);
> >  int
> >  main(int argc, char **argv)
> >  {
> > +   extern char *__progname;
> >     int fd;
> >  #ifdef CHDIR
> >     char *dir;
> >  #endif
> >  
> > -   hname = argv[0];
> >     hackpid = getpid();
> >  
> >  #ifdef CHDIR                       /* otherwise no chdir() */
> > @@ -187,7 +186,7 @@ main(int argc, char **argv)
> >      * Find the creation date of this game,
> >      * so as to avoid restoring outdated savefiles.
> >      */
> > -   gethdate(hname);
> > +   gethdate(__progname);
> >  
> >     /*
> >      * We cannot do chdir earlier, otherwise gethdate will fail.
> > Index: hunt/huntd/driver.c
> > ===================================================================
> > RCS file: /var/cvs/src/games/hunt/huntd/driver.c,v
> > retrieving revision 1.22
> > diff -u -p -r1.22 driver.c
> > --- hunt/huntd/driver.c     25 Sep 2015 17:50:53 -0000      1.22
> > +++ hunt/huntd/driver.c     8 Dec 2015 18:07:36 -0000
> > @@ -52,7 +52,6 @@
> >  #include "conf.h"
> >  #include "server.h"
> >  
> > -char       *First_arg;             /* pointer to argv[0] */
> >  u_int16_t Server_port;
> >  int        Server_socket;          /* test socket to answer datagrams */
> >  FLAG       should_announce = TRUE; /* true if listening on standard port */
> > @@ -88,6 +87,7 @@ main(ac, av)
> >     static FLAG     server = FALSE;
> >     extern int      optind;
> >     extern char     *optarg;
> > +   extern char     *__progname;
> >     int             c;
> >     static struct timeval   linger = { 0, 0 };
> >     static struct timeval   timeout = { 0, 0 }, *to;
> > @@ -97,8 +97,6 @@ main(ac, av)
> >     int             fd;
> >     int             background = 0;
> >  
> > -   First_arg = av[0];
> > -
> >     config();
> >  
> >     while ((c = getopt(ac, av, "bsp:a:D:")) != -1) {
> > @@ -127,7 +125,7 @@ erred:
> >                     fprintf(stderr,
> >                         "usage: %s [-bs] [-a addr] [-D var=value] "
> >                         "[-p port]\n",
> > -                       av[0]);
> > +                       __progname);
> >                     exit(2);
> >             }
> >     }
> > Index: sail/main.c
> > ===================================================================
> > RCS file: /var/cvs/src/games/sail/main.c,v
> > retrieving revision 1.8
> > diff -u -p -r1.8 main.c
> > --- sail/main.c     11 Mar 2014 07:42:55 -0000      1.8
> > +++ sail/main.c     8 Dec 2015 18:02:01 -0000
> > @@ -43,6 +43,7 @@ main(argc, argv)
> >     int argc;
> >     char **argv;
> >  {
> > +   extern char *__progname;
> >     char *p;
> >     int i;
> >     int fd;
> > @@ -56,10 +57,7 @@ main(argc, argv)
> >             exit(1);
> >     close(fd);
> >  
> > -   if ((p = strrchr(*argv, '/')))
> > -           p++;
> > -   else
> > -           p = *argv;
> > +   p = __progname;
> >     if (strcmp(p, "driver") == 0 || strcmp(p, "saildriver") == 0)
> >             mode = MODE_DRIVER;
> >     else if (strcmp(p, "sail.log") == 0)
> > 
> 

Reply via email to