From a992fcd3d1bc0e20b478b047301e7c11badfe572 Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau Date: Thu, 18 Jun 2015 01:16:54 -0700 Subject: [PATCH] VFS: Move VDirOptionalOpenFile to vfs-dirent.c --- src/util/vfs.c | 28 ---------------------------- src/util/vfs/vfs-dirent.c | 28 ++++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src/util/vfs.c b/src/util/vfs.c index 14492788c..7758c56e9 100644 --- a/src/util/vfs.c +++ b/src/util/vfs.c @@ -17,34 +17,6 @@ ssize_t VFileReadline(struct VFile* vf, char* buffer, size_t size) { return buffer[bytesRead] = '\0'; } -struct VFile* VDirOptionalOpenFile(struct VDir* dir, const char* realPath, const char* prefix, const char* suffix, int mode) { - char path[PATH_MAX]; - path[PATH_MAX - 1] = '\0'; - struct VFile* vf; - if (!dir) { - if (!realPath) { - return 0; - } - char* dotPoint = strrchr(realPath, '.'); - if (dotPoint - realPath + 1 >= PATH_MAX - 1) { - return 0; - } - if (dotPoint > strrchr(realPath, '/')) { - int len = dotPoint - realPath; - strncpy(path, realPath, len); - path[len] = 0; - strncat(path + len, suffix, PATH_MAX - len - 1); - } else { - snprintf(path, PATH_MAX - 1, "%s%s", realPath, suffix); - } - vf = VFileOpen(path, mode); - } else { - snprintf(path, PATH_MAX - 1, "%s%s", prefix, suffix); - vf = dir->openFile(dir, path, mode); - } - return vf; -} - ssize_t VFileWrite32LE(struct VFile* vf, int32_t word) { uint32_t leword; STORE_32LE(word, 0, &leword); diff --git a/src/util/vfs/vfs-dirent.c b/src/util/vfs/vfs-dirent.c index 9632a7e3a..ae786ed0b 100644 --- a/src/util/vfs/vfs-dirent.c +++ b/src/util/vfs/vfs-dirent.c @@ -190,3 +190,31 @@ const char* _vdeName(struct VDirEntry* vde) { } return 0; } + +struct VFile* VDirOptionalOpenFile(struct VDir* dir, const char* realPath, const char* prefix, const char* suffix, int mode) { + char path[PATH_MAX]; + path[PATH_MAX - 1] = '\0'; + struct VFile* vf; + if (!dir) { + if (!realPath) { + return 0; + } + char* dotPoint = strrchr(realPath, '.'); + if (dotPoint - realPath + 1 >= PATH_MAX - 1) { + return 0; + } + if (dotPoint > strrchr(realPath, '/')) { + int len = dotPoint - realPath; + strncpy(path, realPath, len); + path[len] = 0; + strncat(path + len, suffix, PATH_MAX - len - 1); + } else { + snprintf(path, PATH_MAX - 1, "%s%s", realPath, suffix); + } + vf = VFileOpen(path, mode); + } else { + snprintf(path, PATH_MAX - 1, "%s%s", prefix, suffix); + vf = dir->openFile(dir, path, mode); + } + return vf; +}