]> git.wh0rd.org - fontconfig.git/commitdiff
Remove unneeded call to access(2) in fc-cache.
authorKeith Packard <keithp@koto.keithp.com>
Thu, 18 Oct 2007 11:54:51 +0000 (04:54 -0700)
committerKeith Packard <keithp@koto.keithp.com>
Thu, 18 Oct 2007 11:54:51 +0000 (04:54 -0700)
This call was followed by a call to stat(2) which provided the necessary
information. This call to access(2) was necessary when cache files were
stored in the font directory as that would check for write permission
correctly.

fc-cache/fc-cache.c

index acaa8ba11012f21fb8563082a066551cfb3551aa..0415b54762268222f1acbe6e66336ace1e708a4a 100644 (file)
@@ -153,35 +153,23 @@ scanDirs (FcStrList *list, FcConfig *config, FcBool force, FcBool really_force,
            continue;
        }
 
-       if (access ((char *) dir, W_OK) < 0)
+       if (stat ((char *) dir, &statb) == -1)
        {
            switch (errno) {
            case ENOENT:
            case ENOTDIR:
                if (verbose)
                    printf ("skipping, no such directory\n");
-               continue;
-           case EACCES:
-           case EROFS:
-               /* That's ok, caches go to /var anyway. */
-               /* Ideally we'd do an access on the hashed_name. */
-               /* But we hid that behind an abstraction barrier. */
                break;
            default:
                fprintf (stderr, "\"%s\": ", dir);
                perror ("");
                ret++;
-
-               continue;
+               break;
            }
-       }
-       if (stat ((char *) dir, &statb) == -1)
-       {
-           fprintf (stderr, "\"%s\": ", dir);
-           perror ("");
-           ret++;
            continue;
        }
+
        if (!S_ISDIR (statb.st_mode))
        {
            fprintf (stderr, "\"%s\": not a directory, skipping\n", dir);