Christoph Zurnieden: CGI-Programme in C/C++ erstellen (unter Linux mit Apache)

Beitrag lesen

Hallo,

Das ist jetzt eine gute Frage. IMHO ist es ISO C, also
platformunabhängiger (ja, ich weiß) und internationaler
Standard.

Die Escape-Sequenzen. Ja. Aber nicht der Wert, den sie
letztenendes verkoerpern.

Hatte ich nicht schon zugegeben, daß Du Recht hast und ich Unrecht? ;-)

[...]
3 Each of these escape sequences shall produce a unique
implementation-defined value which can be stored in a
single char object. The external representations in a text
file need not be identical to the internal
representations, and are outside the scope of this
International Standard.

Da hast du es doch. Unter Windows nimmt '\n' ausserhalb einer
Programmumgebung 2 Bytes ein, fuer C ist es als ein Byte
definiert :) Sonst haette man ja diese bloeden ^M in
Windows-Textdateien auf Unix-Systemen auch nicht :)

Läßt sich abstellen, 'man less' ;-)

Die libc
wandelt (sofern die Datei im ASCII-Modus geoeffnet wurde)
die Zeilenenden beim einlesen um in die entsprechende interne
Repraesentation. Unter UNIX ist das kein Problem, da ist meist
\n == \n. Unter Windows ist das schon mehr Arbeit :) Und
aufm Mac ist es ganz verrueckt, da ist \n extern == \r :)

Aha, da war ich wohl zu voreilig mit meiner Rechtverteilung.

Unter Windows ist '\n' auch nur ein Byte, nur das Zeilenende wird dort mit zwei Bytes gesetzt. Ein printf("\n") erzeugt auch unter Windows (mit GCC bzw LCCWin32 als C Compiler mit deren jeweiligen Libcs) nur ein 0x0d, kein 0x0a0d.
(Das war jetzt nicht nett von Dir, mich zu zwingen heute nochmal Windows zu starten! ;-)

Auf dem Mac ist es das Gleiche, da sind die Zeilenenden mit 0x0a markiert und ein printf("\n") ergibt trotzdem ein 0x0d. (Wobei ich mich frage, ob sich das jetzt geändert hat, da nun ein BSD unten drunter läuft)
Letzteres allerdings ohne Gewähr, ich habe schon zu lange auf keinem Mac mehr etwas gebaut.

BTW: was ist eigentlich aus der gzip.c Version geworden?

Jaaaa... ich weiss. Ich muesste dringend deine und meine
Aenderungen zusammenbringen. Aber ich arbeite zur Zeit ca.
10 bis 12h am Tag, weil sich da jemand in der Zeitplanung
verrechnet hat *grummelgrummel*

Ja, bei dem Wort "Deadline" habe ich auch immer einen Strick mit Schlinge vor dem geistigem Auge ;-)
(Ja, ist ja schon gut, 2 EUR in die Wortwitzkasse)

so short

Christoph Zurnieden, der nun seinen Blick gegen die Perseiden richtet, wenn er denn rausgefunden hat, wo die Dinger liegen