From: firstname.lastname@example.org (Miguel Carrasquer Vidal)
Subject: Re: NEW CONTEST!
While musing about functions with confusing return values,
my mind naturally wandered off to functions with confusing
I was rudely interrupted by the rattling of the telex machine:
** NEWSFLASH **
CIVIL WAR IN C-LAND
Main(). A bloody civil war has broken out in the Stdio province
of C-land between rival factions of functions. The situation
between the functions that put the FILE * first and the ones
that put the FILE * last had been tense for years.
Apparently, the present outbreak of hostilities was caused by an
argument between a group of unemployed Fsetpos's and a band of
Putc's over a misplaced argument. Major fighting broke out when
the Fprintf and Fwrite warlords sided up with their respective
So far, the principal victims of the conflict have been the neutral
parties: a gang of Fgets's and Fread's armed with volatile pointers
and float arrays is said to have massacred a village of Fflush's,
while a company of Ftell and Rewind soldiers were tried and shot
for treason and espionage when they refused to follow their Fseek
officer's orders, reliable sources say.
The civilian population, consisting mainly of FILE *'s, are terrified,
and most of them are afraid to come out of their structs.
At present, only the Setvbuf and Setbuf militias have not joined in
the fighting, although it is reported that buffering has been refused
to Fread, Fwrite, Fgets and Fputs requests. Even some Putc's have
received _IONBF for an answer.
It is feared that the conflict might spread to the central provinces
and the capital, where there are many relatives of the Printf/Scanf
family on the one side, and of the Put/Get family on the other
(the country's President, HelloWorld
, is himself a Printf).
Unrest has also begun to spread across the IOStream into neighbouring
C++-land, where young << and >> workers have gone on strike, refusing
to do anything but bit shifting, "like our fathers did," one