From owner-freebsd-current Wed Oct 14 18:24:21 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id SAA05306 for freebsd-current-outgoing; Wed, 14 Oct 1998 18:24:21 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from dingo.cdrom.com (dingo.cdrom.com [204.216.28.145]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id SAA05206 for ; Wed, 14 Oct 1998 18:24:15 -0700 (PDT) (envelope-from mike@dingo.cdrom.com) Received: from dingo.cdrom.com (localhost.cdrom.com [127.0.0.1]) by dingo.cdrom.com (8.9.1/8.8.8) with ESMTP id SAA00583; Wed, 14 Oct 1998 18:27:51 -0700 (PDT) (envelope-from mike@dingo.cdrom.com) Message-Id: <199810150127.SAA00583@dingo.cdrom.com> X-Mailer: exmh version 2.0.2 2/24/98 To: Darren Whittaker cc: Mike Smith , freebsd-current@FreeBSD.ORG, john.young@openmarket.com Subject: Re: problem in 3.0 In-reply-to: Your message of "Wed, 14 Oct 1998 11:28:10 MDT." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 14 Oct 1998 18:27:51 -0700 From: Mike Smith Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > 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. I specifically asked what the exact code below does when built as a program and run on your system. If setting buf[0] to 0 kills all but the first output, you should be checking the return from fgets, as it's likely that it's not returning anything. > -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 > > #include > > > > 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 > -- \\ 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