Date: Sun, 16 Apr 1995 18:59:52 -0500 (CDT) From: Peter da Silva <peter@bonkers.taronga.com> To: rpt@miles.sso.loral.com (Richard Toren) Cc: hackers@FreeBSD.org Subject: Re: aspfilter & stdin Message-ID: <199504162359.SAA02555@bonkers.taronga.com> In-Reply-To: <Pine.SUN.3.91.950416174558.11362A-100000@miles> from "Richard Toren" at Apr 16, 95 05:54:29 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> I have modified the 'rewindstdin.c' as:
> #include <stdio.h>
> #include <unistd.h>
> main()
> {
> return lseek(0,0L,SEEK_SET) < 0;
> }
> Giving the following results:
> <src/rewind-stdin># make
> cc -s -O -o rewindstdin rewindstdin.c
> <src/rewind-stdin># cat rewindstdin.c | (file -; ./rewindstdin ;file -)
> standard input: c program text
> standard input: empty
You can't rewind a pipe.
Period.
Try "(file - ; ./rewindstdin ; file -) < rewindstdin.c".
> ?? why the '< 0' of the return code??
RETURN VALUES
Upon successful completion, lseek() returns the resulting offset location
as measured in bytes from the beginning of the file. Otherwise, a value
of -1 is returned and errno is set to indicate the error.
It should be "return lseek(0,0L,SEEK_SET) == -1;"
I don't believe that any other nonzero result is possible in this case, but
it's always better to check for the documented return value.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199504162359.SAA02555>
