[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Lost] [Patch] stat-Makros korrigiert



! libc: stat-Makros zum feststellen des Types waren totaler Unsinn.

Das sorgte dafuer, dass nano keine Dateien öffnen wollte, weil er sie als 
Spezialdateteien erkannte.
Index: trunk/src/modules/include/sys/stat.h
===================================================================
--- trunk.orig/src/modules/include/sys/stat.h
+++ trunk/src/modules/include/sys/stat.h
@@ -79,20 +79,20 @@
 
 /// Ueberprueft ob es sich bei einem st_mode-Feld um eine Regulaere Datei
 /// handelt
-#define S_ISREG(m) (((m) & S_IFREG) == S_IFREG)
+#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
 
 /// Ueberprueft ob es sich bei einem st_mode-Feld um ein Verzeichnis handelt
-#define S_ISDIR(m) (((m) & S_IFDIR) == S_IFDIR)
+#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
 
 /// Ueberprueft ob es sich bei einem st_mode-Feld um einen Symlink handelt
-#define S_ISLNK(m) (((m) & S_IFLNK) == S_IFLNK)
+#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
 
 /// Spezialdateien aus UNIX
-#define S_ISCHR(m) (((m) & S_IFCHR) == S_IFCHR)
-#define S_ISBLK(m) (((m) & S_IFBLK) == S_IFBLK)
+#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
+#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
 
 /// Information zu einer Datei
-struct stat { 
+struct stat {
     dev_t     st_dev;       /// Geraet auf dem die Datei liegt
     ino_t     st_ino;       /// Serielle Dateinummer
     mode_t    st_mode;      /// Modus (u.A Zugriffsberechtigungen)