OT
Csak úgy óvatosan megemlítem, hogy a fenti program ránézésre 2 szélsőséges esetben működhet problémásan:
a) ha a rendszeredben valamiért az STDIN nevű makró már létezik - ebben az esetben azért eléggé nem megjósolható, hogy mire fordul.
b) és abban az esetben, ha az STDIN makró nem létezik. Lévén fenti kódban te STDIN-nek nevezed az STDOUT -ot. Egyébként jobbnak tartanám a fentinél kissé elterjedtebb STDIN beállítást: STDIN = fileno(stdin)
/OT
(Ja, és le se fordul, retrun elgépelés történt, valamint mert a TIOCINQ ismeretlen fogalom számára. Azaz vagy elgépelted (ezt is), vagy a POSIX-kompatibilis rendszeren sikerült egy nem kifejezetten POSIX mechanizmust használni. Tesztkörnyezet: FreeBSD-CURRENT).