Re: [PATCH] Avoid crippled getpass function on Solaris
- From
Andreas Schwab <schwab@linux-m68k.org>
- Date
- Aug 6, 2012, 23:05 UTC
- Message-ID
- <m2pq73zkmu.fsf@igel.home>
- In-Reply-To
- <20120806223113.GA16298@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 24 quoted lines
> The stdio behavior on Solaris is weird. If I run this sample program:
>
> #include <stdio.h>
> int main(void)
> {
> FILE *fh = fopen("/dev/tty", "w+");
> char buf[32] = {0};
> fgets(buf, sizeof(buf), fh);
> fprintf(fh, "got %s\n", buf);
> return 0;
> }
>
> on Linux, I get:
>
> $ ./a.out
> foo <-- me typing
> got foo <-- program output
>
> On Solaris, I get:
>
> $ ./a.out
> foo <-- me typing
> foo <-- ???
> got foo <-- program outputThat's not a bug, you need to flush or seek when you want to switch between read to write.
Andreas.
-- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."