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) > > >