Verzeichnis löschen

17/08/2015 - 12:20 von Michael Baeuerle | Report spam
[Xpost nach dafc, weil es ein historisches Problem ist]

Es geht um folgendes:
- Verzeichnis mit Dateien, Symlinks und Unterverzeichnissen soll ge-
löscht werden
- Das OS unterstützt noch kein POSIX.1-2001 API, d.h. es steht kein
'lstat()' zur Verfügung und 'struct dirent' enthàlt nur das Feld
'd_name'

Gibt es einen anderen portablen Weg herauszufinden ob ein Verzeichnis-
eintrag ein Symlink ist oder nicht?

Oder làuft es auf #ifdef und spezifischen Code für jedes OS hinaus?
 

Lesen sie die antworten

#1 Christian Corti
17/08/2015 - 13:19 | Warnen spam
Michael Baeuerle wrote:
- Das OS unterstützt noch kein POSIX.1-2001 API, d.h. es steht kein
'lstat()' zur Verfügung und 'struct dirent' enthàlt nur das Feld
'd_name'



Ich habe mal kurz nachgeschaut: SunOS 4.1 hat lstat(), sogar 2.9BSD,
wenn UCB_SYMLINKS bei der Generierung aktiviert. Das muß also ein altes
AT&T UNIX sein.

Gibt es einen anderen portablen Weg herauszufinden ob ein Verzeichnis-
eintrag ein Symlink ist oder nicht?



stat(), dann 'struct stat' Feld 'st_mode' auf S_IFLNK testen?

Christian

Ähnliche fragen