Remove unneeded call to access(2) in fc-cache.

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.
This commit is contained in:
Keith Packard 2007-10-18 04:54:51 -07:00
parent f7da903d37
commit e12f718f65
1 changed files with 3 additions and 15 deletions

View 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++;
break;
}
continue;
}
continue;
}
}
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);