From: Andreas Schwab Date: Mon, 06 Aug 2012 23:05:45 GMT Subject: Re: [PATCH] Avoid crippled getpass function on Solaris Message-ID: In-Reply-To: <20120806223113.GA16298@sigill.intra.peff.net> Jeff King writes: > The stdio behavior on Solaris is weird. If I run this sample program: > > #include > 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 output That'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."