ping.

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