path: root/apps/onplay.c
diff options
authorThomas Martitz <>2010-09-01 21:29:34 +0000
committerThomas Martitz <>2010-09-01 21:29:34 +0000
commit6eaab4d00446c070c655f0e6c9a872532a776b6f (patch)
tree69610996dd0a6092459b14e164d4e48e03b1e5bb /apps/onplay.c
parent8e0a0babc57db3e9edc06f3e269fb47c27292ed5 (diff)
Ged rid of uisimulator/common/io.c for android builds.
Use host's functions for file i/o directly (open(), close() ,etc.), not the sim_* variants. Some dir functions need to be wrapped still because we need to cache the parents dir's path (host's dirent doesn't let us know). For the same reason (incompatibility) with host's dirent) detach some members from Rockbox' dirent struct and put it into an extra one, the values can be retrieved via the new dir_get_info(). Get rid of the sim_ prefix for sleep as well and change the signature to unix sleep(). git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/onplay.c')
1 files changed, 5 insertions, 4 deletions
diff --git a/apps/onplay.c b/apps/onplay.c
index 72912579f9..f5b8476492 100644
--- a/apps/onplay.c
+++ b/apps/onplay.c
@@ -26,7 +26,6 @@
#include "debug.h"
#include "lcd.h"
-#include "dir.h"
#include "file.h"
#include "audio.h"
#include "menu.h"
@@ -63,6 +62,7 @@
#include "statusbar-skinned.h"
#include "pitchscreen.h"
#include "viewport.h"
+#include "filefuncs.h"
static int context;
static char* selected_file = NULL;
@@ -484,14 +484,14 @@ static int remove_dir(char* dirname, int len)
entry = readdir(dir);
if (!entry)
+ struct dirinfo info = dir_get_info(dir, entry);
dirname[dirlen] ='\0';
/* inform the user which dir we're deleting */
splash(0, dirname);
/* append name to current directory */
snprintf(dirname+dirlen, len-dirlen, "/%s", entry->d_name);
- if (entry->attribute & ATTR_DIRECTORY)
+ if (info.attribute & ATTR_DIRECTORY)
{ /* remove a subdirectory */
if (!strcmp((char *)entry->d_name, ".") ||
!strcmp((char *)entry->d_name, ".."))
@@ -783,6 +783,7 @@ static bool clipboard_pastedirectory(char *src, int srclen, char *target,
if (!entry)
+ struct dirinfo info = dir_get_info(srcdir, entry);
/* append name to current directory */
snprintf(src+srcdirlen, srclen-srcdirlen, "/%s", entry->d_name);
snprintf(target+targetdirlen, targetlen-targetdirlen, "/%s",
@@ -790,7 +791,7 @@ static bool clipboard_pastedirectory(char *src, int srclen, char *target,
DEBUGF("Copy %s to %s\n", src, target);
- if (entry->attribute & ATTR_DIRECTORY)
+ if (info.attribute & ATTR_DIRECTORY)
{ /* copy/move a subdirectory */
if (!strcmp((char *)entry->d_name, ".") ||
!strcmp((char *)entry->d_name, ".."))