Textantrieb

Textengine

Module

Modul futils.c

Formatting Utilities

Hilfsfunktionen für den Umgang mit Dateien, Streams und C-Strings.

te_create_stream_source

Ergebnis: int

Parameter:

te_create_file_source

Ergebnis: int

Parameter:

te_create_cstring_source

Ergebnis: int

Parameter:

te_parse_stream

Ergebnis: int

Parameter:

te_parse_file

Die angegebene Datei wird als Stream geöffnet und erfasst.

Eine eventuell vorhandene Shebang-Zeile wird ausgeführt.

Ergebnis: int

Parameter:

te_parse_cstring

Ergebnis: int

Parameter:

visitstr

Ergebnis: int

Parameter:

visitstrid

Ergebnis: int

Parameter:

new_stream_writer_strag

Ergebnis: strag_t *

Parameter:

new_file_writer_strag

Ergebnis: strag_t *

Parameter:

new_cstring_writer_strag

Ergebnis: strag_t *

Parameter:

te_formatn_stream

Ergebnis: int

Parameter:

te_formatidn_stream

Ergebnis: int

Parameter:

te_formatn_cstring

Ergebnis: int

Parameter:

te_formatidn_cstring

Ergebnis: int

Parameter:

te_format_stream

Ergebnis: int

Parameter:

te_format_file

Ergebnis: int

Parameter:

te_format_cstring

Ergebnis: int

Parameter:

te_extract_line_a

Diese Funktion ergibt die nächste Zeile aus dem Stream.

Ergebnis: int

Ergibt den Fehlercode.

Parameter:

te_extract_line_if_comment_a

Diese Funktion prüft die nächste Zeile im Stream. Wenn diese mit dem Zeichen # anfängt, wird die Zeile zurückgegeben und der Stream am Anfang der nächsten Zeile positioniert. Fängt diese nicht mit dem Zeichen # an oder ist der Stream am Ende, so tut diese Funktion nichts und ergibt die Zeile NULL.

Ergebnis: int

Ergibt den Fehlercode.

Parameter:

te_extract_shebang_arguments

Extrahiert die Argumente aus dem Programmaufruf in der angegebenen Zeile, wenn es sich um eine Shebang-Zeile handelt.

Ergebnis: int

Ergibt den Fehlercode.

Parameter:

te_execute_if_shebang

Prüft die nächste Zeile aus dem Stream. Wenn es sich um eine passende Shebang-Zeile handelt, so werden die als Argumente angegebenen Dateien hintereinander mit te_parse_file erfasst und der Stream am Anfang der nächsten Zeile positioniert. Anderenfalls, wird die Leseposition des Streams nicht geändert.

Als Shebang-Zeile wird eine erste Zeile erkannt, die mit #!<Program> anfängt, wo <Program> mit dem Konfigurationsnamen SHEBANG_PROGNAME übereinstimmt. Dabei wird eine eventuelle Pfadangabe ignoriert.

Bekannter Implementierungsfehler: Wenn die erste Dateizile mit # anfängt, wird sie nicht geparst, egal ob sie eine Shebangzeile ist oder nicht.

Ergebnis: int

Ergibt den Fehlercode.

Parameter: