changeset 11:04a8a33fc48a

Zwischenstand
author markus schnalke <meillo@marmaro.de>
date Mon, 11 May 2015 17:14:00 +0200
parents 7e1214b556b9
children 9f17c512fb5c
files cut.txt
diffstat 1 files changed, 32 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/cut.txt	Mon May 11 07:09:00 2015 +0200
+++ b/cut.txt	Mon May 11 17:14:00 2015 +0200
@@ -345,6 +345,38 @@
 eigenen Einschaetzung des Lesers ueberlassen bleiben.
 
 
+Die interne Struktur des C-Codes ist meist aehnlich. Neben der
+obligatorischen main-Funktion, die die Kommandozeilenargumente
+verarbeitet, gibt es im Normalfall eine Funktion, die die
+Feldauswahl in eine interne Datenstruktur ueberfuehrt, desweiteren
+haben fast alle Implementierungen separate Funktionen fuer die
+zwei bzw. drei Modi. Bei den POSIX-konformen Implementierungen
+wird die `-b -n'-Kombination als weiterer Modus behandelt, und
+damit in einer eigenen Funktion umgesetzt. Nur bei der fruehen
+System III-Implementierung (und seiner 4.3BSD-UWisc-Variante)
+wird nichts aus der main-Funktion ausgelagert, ausser den
+Fehlerausgaben.
+
+Bei System III ist die Anzahl der moeglichen Felder und damit auch
+die Zeilenlaenge auf 512 begrenzt.
+
+Bei 4.3BSD-Reno liegt die Grenze bei _BSD_LINE_MAX
+
+NetBSD 1993 _POSIX2_LINE_MAX
+
+NetBSD 2012 dyn alloc
+
+
+4.3BSD-Reno
+         * set a byte in the positions array to indicate if a field or
+         * column is to be selected; use +1, it's 1-based, not 0-based.
+         * This parser is less restrictive than the Draft 9 POSIX spec.
+         * POSIX doesn't allow lists that aren't in increasing order or
+         * overlapping lists.  We also handle "-3-5" although there's no
+         * real reason too.
+
+
+
 Schaut man sich die SCCS-IDs (die vom damaligen
 Versionskontrollsystem eingefuegt wurden) in den BSD-Quellen an,
 dann findet man dort Versionsnummern, die die Entwicklung