summaryrefslogtreecommitdiff
path: root/utils/filepath.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2014-06-05 12:06:47 +0100
committerVincent Sanders <vince@kyllikki.org>2014-06-05 12:06:47 +0100
commitf1c2dde13bf1ca59a466cfed2f2d2076c06b235f (patch)
tree3c8ef58913108a1b5da66dc0431127cc655851a7 /utils/filepath.c
parent80bee65a71a7e85cb800e5d1d1f58525c855cb09 (diff)
downloadnetsurf-f1c2dde13bf1ca59a466cfed2f2d2076c06b235f.tar.gz
netsurf-f1c2dde13bf1ca59a466cfed2f2d2076c06b235f.tar.bz2
extend file table with mkdir all and make fs backing store use it.
enable fs backing store for RISC OS.
Diffstat (limited to 'utils/filepath.c')
-rw-r--r--utils/filepath.c57
1 files changed, 0 insertions, 57 deletions
diff --git a/utils/filepath.c b/utils/filepath.c
index c28a821d7..c07cc4874 100644
--- a/utils/filepath.c
+++ b/utils/filepath.c
@@ -325,60 +325,3 @@ void filepath_free_strvec(char **pathv)
free(pathv);
}
-/* exported interface documented in filepath.h */
-nserror filepath_mkdir_all(const char *fname)
-{
- char *dname;
- char *sep;
- struct stat sb;
-
- dname = strdup(fname);
-
- sep = strrchr(dname, '/');
- if (sep == NULL) {
- /* no directory separator path is just filename so its ok */
- free(dname);
- return NSERROR_OK;
- }
-
- *sep = 0; /* null terminate directory path */
-
- if (stat(dname, &sb) == 0) {
- free(dname);
- if (S_ISDIR(sb.st_mode)) {
- /* path to file exists and is a directory */
- return NSERROR_OK;
- }
- return NSERROR_NOT_DIRECTORY;
- }
- *sep = '/'; /* restore separator */
-
- sep = dname;
- while (*sep == '/') {
- sep++;
- }
- while ((sep = strchr(sep, '/')) != NULL) {
- *sep = 0;
- if (stat(dname, &sb) != 0) {
- if (nsmkdir(dname, S_IRWXU) != 0) {
- /* could not create path element */
- free(dname);
- return NSERROR_NOT_FOUND;
- }
- } else {
- if (! S_ISDIR(sb.st_mode)) {
- /* path element not a directory */
- free(dname);
- return NSERROR_NOT_DIRECTORY;
- }
- }
- *sep = '/'; /* restore separator */
- /* skip directory separators */
- while (*sep == '/') {
- sep++;
- }
- }
-
- free(dname);
- return NSERROR_OK;
-}