X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=www%2Fwproto.c;h=f649de68c16682cc28d2d68a507cdb5dc351dd20;hb=eabbad76c996dd29295d07df3111f0797624b42e;hp=0cbeeb197249502aa41b048613d87744d5b1b857;hpb=a61ad0378b93e99e362a1d92c33d701dbf103eba;p=egate.git diff --git a/www/wproto.c b/www/wproto.c index 0cbeeb1..f649de6 100644 --- a/www/wproto.c +++ b/www/wproto.c @@ -41,7 +41,10 @@ * USE OR PERFORMANCE OF THIS SOFTWARE. * * $Log: wproto.c,v $ - * Revision 1.18 1996/02/12 10:09:23 adam + * Revision 1.19 1996/03/14 11:48:39 adam + * New function egw_prog that returns name of shell. + * + * Revision 1.18 1996/02/12 10:09:23 adam * New parameter to wproto_init: directory root for the FIFOs (instead * of using preprocessor defines FIFODIR/FIFOROOT). * @@ -418,7 +421,7 @@ int wproto_process(WCLIENT wc, int timeout) } } -WCLIENT wproto_init (const char *fifoDir) +WCLIENT wproto_init (const char *fifoDir, const char *prog) { char *val, path2[256]; wclient_data *new; @@ -435,6 +438,12 @@ WCLIENT wproto_init (const char *fifoDir) gw_log (GW_LOG_FATAL, mod, "GWID not set"); exit (1); } + if (!(new->prog = malloc (strlen(prog)+1))) + { + gw_log (GW_LOG_FATAL|GW_LOG_ERRNO, mod, "malloc"); + exit (1); + } + strcpy (new->prog, prog); new->fifoDir = fifoDir; new->id = atoi (val); sprintf(new->path, "%s/clt%d", new->fifoDir, new->id); @@ -482,6 +491,7 @@ static void wproto_uncache(WCLIENT wc, int level) void wproto_terminate(WCLIENT wc) { + free (wc->prog); close(wc->linein); unlink(wc->path); wproto_uncache(wc, 0);