Fix missing files in file browser
authorH.G. Muller <h.g.muller@hccnet.nl>
Sun, 7 Aug 2011 13:13:00 +0000 (15:13 +0200)
committerH.G. Muller <h.g.muller@hccnet.nl>
Sun, 7 Aug 2011 13:13:00 +0000 (15:13 +0200)
The file browser was throwing away the first two files, assuming
they were "." and "..". Alas, this is no longer true on every Linux.
Now we actuallyc compare for these names, before skipping them.

filebrowser/dir.c

index 40d13fb..ff317e5 100644 (file)
@@ -121,14 +121,13 @@ SFgetDir(dir)
        (void) stat(".", &statBuf);
        dir->mtime = statBuf.st_mtime;
 
-       (void) readdir(dirp);   /* throw away "." */
+       while (dp = readdir(dirp)) {
 
+               struct stat statBuf;
+               if(!strcmp(dp->d_name, ".")) continue; /* Throw away "." */
+               if(!strcmp(dp->d_name, "..")) continue; /* Throw away ".." */
 #ifndef S_IFLNK
-       (void) readdir(dirp);   /* throw away ".." */
 #endif /* ndef S_IFLNK */
-
-       while (dp = readdir(dirp)) {
-               struct stat statBuf;
                if (i >= alloc) {
                        alloc = 2 * (alloc + 1);
                        result = (SFEntry *) XtRealloc((char *) result,