]> git.tuebingen.mpg.de Git - osl.git/commitdiff
Remove unused for_each_file_in_dir().
authorAndre Noll <maan@systemlinux.org>
Mon, 26 May 2008 21:15:10 +0000 (23:15 +0200)
committerAndre Noll <maan@systemlinux.org>
Mon, 26 May 2008 21:15:10 +0000 (23:15 +0200)
osl.c

diff --git a/osl.c b/osl.c
index 2970264b342f910152834352321c789a3a513a68..1d5db11ef4c65b32bca5f546596b5d1668262d5c 100644 (file)
--- a/osl.c
+++ b/osl.c
@@ -230,71 +230,6 @@ out:
        return ret;
 }
 
-/**
- * Traverse the given directory recursively.
- *
- * \param dirname The directory to traverse.
- * \param func The function to call for each entry.
- * \param private_data Pointer to an arbitrary data structure.
- *
- * For each regular file under \a dirname, the supplied function \a func is
- * called.  The full path of the regular file and the \a private_data pointer
- * are passed to \a func. Directories for which the calling process has no
- * permissions to change to are silently ignored.
- *
- * \return Standard.
- */
-int for_each_file_in_dir(const char *dirname,
-               int (*func)(const char *, void *), void *private_data)
-{
-       DIR *dir;
-       struct dirent *entry;
-       int cwd_fd, ret2, ret = para_opendir(dirname, &dir, &cwd_fd);
-
-       if (ret < 0)
-               return ret == -ERRNO_TO_ERROR(EACCES)? 1 : ret;
-       /* scan cwd recursively */
-       while ((entry = readdir(dir))) {
-               mode_t m;
-               char *tmp;
-               struct stat s;
-
-               if (!strcmp(entry->d_name, "."))
-                       continue;
-               if (!strcmp(entry->d_name, ".."))
-                       continue;
-               if (lstat(entry->d_name, &s) == -1)
-                       continue;
-               m = s.st_mode;
-               if (!S_ISREG(m) && !S_ISDIR(m))
-                       continue;
-               tmp = make_message("%s/%s", dirname, entry->d_name);
-               ret = -ERRNO_TO_ERROR(ENOMEM);
-               if (!tmp)
-                       goto out;
-               if (!S_ISDIR(m)) {
-                       ret = func(tmp, private_data);
-                       free(tmp);
-                       if (ret < 0)
-                               goto out;
-                       continue;
-               }
-               /* directory */
-               ret = for_each_file_in_dir(tmp, func, private_data);
-               free(tmp);
-               if (ret < 0)
-                       goto out;
-       }
-       ret = 1;
-out:
-       closedir(dir);
-       ret2 = para_fchdir(cwd_fd);
-       if (ret2 < 0 && ret >= 0)
-               ret = ret2;
-       close(cwd_fd);
-       return ret;
-}
-
 static int verify_name(const char *name)
 {
        if (!name)