Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Oct 1998 14:07:35 -0400 (EDT)
From:      Alfred Perlstein <bright@hotjobs.com>
To:        Darren Whittaker <djw@sage1.sagecorp.com>
Cc:        Mike Smith <mike@smith.net.au>, freebsd-current@FreeBSD.ORG, john.young@openmarket.com
Subject:   Re: problem in 3.0 
Message-ID:  <Pine.BSF.4.05.9810141336400.1494-100000@porkfriedrice.ny.genx.net>
In-Reply-To: <Pine.SOL.3.93.981014112532.9696A-100000@sage1.sagecorp.com>

next in thread | previous in thread | raw e-mail | index | archive | help

urm, first of all, on my box, setting  buf[0] = '\0' worked fine for me,
second why aren't you using dup2() to get proper semantics
on stderr so that it goes to the same place as stdin?

hint:

#include <unistd.h>

...
#ifdef CGI_DEBUG
	         dup2(STDOUT_FILENO, STDERR_FILENO);
#endif /* CGI_DEBUG */
...


Alfred Perlstein - Programmer, HotJobs Inc. - www.hotjobs.com
-- There are operating systems, and then there's FreeBSD.
-- http://www.freebsd.org/                        3.0-current

On Wed, 14 Oct 1998, Darren Whittaker wrote:

> The code appeared to work until I set buf[0] = '\0'; at the start of the
> loop, then only one message was displayed. Since err displays to std error
> and I have to run this program from a browers I did not see any error
> messages.
> 
> -Darren
> 
> ------------------
> Darren Whittaker
> Senior Software Engineer
> Small Enterprise Group
> Open Market, Inc.
> 
> On Wed, 14 Oct 1998, Mike Smith wrote:
> 
> > > The fact of the matter is that date only returned output once, why did it
> > > not return output 10 times?
> > 
> > No idea.  I can't make it fail in that fashion here, on a range of 
> > -current systems from mid-September through yesterday's snapshot.
> > 
> > Does the following:
> > 
> > #include <stdio.h>
> > #include <err.h>
> > 
> > void main(void) 
> > {
> >         int     i, j;
> >         char    buf[256];
> >         FILE    *p;
> > 
> >         for (i = 0; i < 100; i++) {
> >                 if ((p = popen("/bin/date", "r")) == NULL)
> >                         err(1, "popen");
> >                 fgets(buf, sizeof(buf) - 1, p);
> >                 printf(buf);
> >                 if ((pclose(p)) == -1)
> >                         err(1, "pclose");
> >         }
> > }
> > 
> > do the "right" or the "wrong" thing?
> > 
> > > -Darren
> > 
> > -- 
> > \\  Sometimes you're ahead,       \\  Mike Smith
> > \\  sometimes you're behind.      \\  mike@smith.net.au
> > \\  The race is long, and in the  \\  msmith@freebsd.org
> > \\  end it's only with yourself.  \\  msmith@cdrom.com
> > 
> > 
> > 
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-current" in the body of the message
> 



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9810141336400.1494-100000>