Universität Ulm, SAI, Übungen zu Systemnahe Software I

Lösungsbeispiel zu Blatt 9 (Aufgabe 13)

Modulstruktur

main names parser files replace delete extract contents sam [Map]

Bestandteile

sam.h
Gemeinsame Definitionen für SAM (simple archive manager).
main.c
Hauptprogramm: Bearbeitung der Kommandozeile.
names.h + names.c
Verwaltung von Listen von Dateinamen für SAM.
parser.h + parser.c
Parser für SAM-Archive.
files.h + files.c
Systemabhängige Dateioperationen (Status).
replace.h + replace.c
Dateien ins Archiv kopieren.
delete.h + delete.c
Dateien aus dem Archiv entfernen.
extract.h + extract.c
Dateien vom Archiv in den Arbeitskatalog kopieren.
contents.h + contents.c
Inhaltsverzeichnis ausgeben.
Makefile
Datei mit Regeln für make(1).
Das gesamte Beispiel gibt es auch als shar-Datei zum Herunterladen. Ein Shell-Archiv wird einfach mit Hilfe der Shell ausgepackt:
sh all.shar
Die Dateien werden dann im Arbeitskatalog erzeugt. Anstelle von shar hätte man natürlich auch sam verwenden können -- oder nicht?
Zugehöriges Aufgabenblatt / Alle Aufgaben
Martin Hasch, Februar 1997