From 0f928f87850153a38c7e6cfafd283ce4f52a0666 Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Tue, 11 Feb 2014 15:27:23 +0100 Subject: RaaA: Move directory related stuff from filesystem-unix.c into rbpaths.c. Part of this change is to align sdlapp builds to other application targets in that the sim_* wrappers are not used anymore (except for sim_read/write). Path mangling is now done in rbpaths.c as well. Change-Id: I9726da73b50a83d9e1a1840288de16ec01ea029d --- firmware/target/hosted/android/dir-target.h | 46 ----------- firmware/target/hosted/filesystem-unix.c | 103 +------------------------ firmware/target/hosted/samsungypr/dir-target.h | 48 ------------ 3 files changed, 1 insertion(+), 196 deletions(-) delete mode 100644 firmware/target/hosted/android/dir-target.h delete mode 100644 firmware/target/hosted/samsungypr/dir-target.h (limited to 'firmware/target') diff --git a/firmware/target/hosted/android/dir-target.h b/firmware/target/hosted/android/dir-target.h deleted file mode 100644 index 6962d943fe..0000000000 --- a/firmware/target/hosted/android/dir-target.h +++ /dev/null @@ -1,46 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2010 by Thomas Martitz - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#ifndef __DIR_TARGET_H__ -#define __DIR_TARGET_H__ - -#include - -#define dirent_uncached dirent -#define DIR_UNCACHED DIR -#define opendir_uncached _opendir -#define readdir_uncached _readdir -#define closedir_uncached _closedir -#define mkdir_uncached _mkdir -#define rmdir_uncached rmdir - -extern DIR* _opendir(const char* name); -extern int _mkdir(const char* name); -extern int rmdir(const char* name); -extern int _closedir(DIR* dir); -extern struct dirent *_readdir(DIR* dir); -extern void fat_size(unsigned long *size, unsigned long *free); - -#define DIRFUNCTIONS_DEFINED -#define DIRENT_DEFINED -#define DIR_DEFINED - -#endif /* __DIR_TARGET_H__ */ diff --git a/firmware/target/hosted/filesystem-unix.c b/firmware/target/hosted/filesystem-unix.c index 45b9e0fca1..8ac1d4ada9 100644 --- a/firmware/target/hosted/filesystem-unix.c +++ b/firmware/target/hosted/filesystem-unix.c @@ -19,17 +19,8 @@ * ****************************************************************************/ -#include #include /* stat() */ -#include /* snprintf */ -#include /* size_t */ -#include -#include /* localtime() */ -#include "system-target.h" -#include "dir-target.h" -#include "file.h" -#include "dir.h" -#include "rbpaths.h" +#include "mv.h" /* stat() */ long filesize(int fd) @@ -48,95 +39,3 @@ void fat_size(IF_MV(int volume,) unsigned long* size, unsigned long* free) IF_MV((void) volume); *size = *free = 0; } - -#undef opendir -#undef closedir -#undef mkdir -#undef readdir - -/* need to wrap around DIR* because we need to save the parent's - * directory path in order to determine dirinfo */ -struct __dir { - DIR *dir; - char *path; -}; - -DIR* _opendir(const char *name) -{ - char *buf = malloc(sizeof(struct __dir) + strlen(name)+1); - if (!buf) - return NULL; - - struct __dir *this = (struct __dir*)buf; - - this->path = buf+sizeof(struct __dir); - /* definitely fits due to strlen() */ - strcpy(this->path, name); - - this->dir = opendir(name); - - if (!this->dir) - { - free(buf); - return NULL; - } - return (DIR*)this; -} - -int _mkdir(const char *name) -{ - return mkdir(name, 0777); -} - -int _closedir(DIR *dir) -{ - struct __dir *this = (struct __dir*)dir; - int ret = closedir(this->dir); - free(this); - return ret; -} - -struct dirent* _readdir(DIR* dir) -{ - struct __dir *d = (struct __dir*)dir; - return readdir(d->dir); -} - -struct dirinfo dir_get_info(DIR* _parent, struct dirent *dir) -{ - struct __dir *parent = (struct __dir*)_parent; - struct stat s; - struct tm *tm = NULL; - struct dirinfo ret; - char path[MAX_PATH]; - - snprintf(path, sizeof(path), "%s/%s", parent->path, dir->d_name); - memset(&ret, 0, sizeof(ret)); - - if (!stat(path, &s)) - { - if (S_ISDIR(s.st_mode)) - { - ret.attribute = ATTR_DIRECTORY; - } - ret.size = s.st_size; - tm = localtime(&(s.st_mtime)); - } - - if (!lstat(path, &s) && S_ISLNK(s.st_mode)) - { - ret.attribute |= ATTR_LINK; - } - - if (tm) - { - ret.wrtdate = ((tm->tm_year - 80) << 9) | - ((tm->tm_mon + 1) << 5) | - tm->tm_mday; - ret.wrttime = (tm->tm_hour << 11) | - (tm->tm_min << 5) | - (tm->tm_sec >> 1); - } - - return ret; -} diff --git a/firmware/target/hosted/samsungypr/dir-target.h b/firmware/target/hosted/samsungypr/dir-target.h deleted file mode 100644 index acd11d8041..0000000000 --- a/firmware/target/hosted/samsungypr/dir-target.h +++ /dev/null @@ -1,48 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2010 by Thomas Martitz - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#ifndef __DIR_TARGET_H__ -#define __DIR_TARGET_H__ - -#include -/* including unistd.h is too noisy */ -extern int rmdir(const char* name); - - -#define dirent_uncached dirent -#define DIR_UNCACHED DIR -#define opendir_uncached _opendir -#define readdir_uncached _readdir -#define closedir_uncached _closedir -#define mkdir_uncached _mkdir -#define rmdir_uncached rmdir - -extern DIR* _opendir(const char* name); -extern int _mkdir(const char* name); -extern int _rmdir(const char* name); -extern int _closedir(DIR* dir); -extern struct dirent *_readdir(DIR* dir); - -#define DIRFUNCTIONS_DEFINED -#define DIRENT_DEFINED -#define DIR_DEFINED - -#endif /* __DIR_TARGET_H__ */ -- cgit v1.2.3