Simulators: lseek() working again for systems with an off_t datatype differing from 'long' (cygwin/x11, maybe others). Removed unused sim_close().


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6084 a1c6a512-1295-4272-9138-f99709370657
diff --git a/apps/plugin.c b/apps/plugin.c
index f8f8fb1..6b429c3 100644
--- a/apps/plugin.c
+++ b/apps/plugin.c
@@ -135,7 +135,7 @@
     (open_func)PREFIX(open),
     close,
     (read_func)read,
-    lseek,
+    PREFIX(lseek),
     (creat_func)PREFIX(creat),
     (write_func)write,
     PREFIX(remove),
diff --git a/apps/plugin.h b/apps/plugin.h
index ed34d9a..76f31c3 100644
--- a/apps/plugin.h
+++ b/apps/plugin.h
@@ -177,7 +177,7 @@
     int (*PREFIX(open))(const char* pathname, int flags);
     int (*close)(int fd);
     ssize_t (*read)(int fd, void* buf, size_t count);
-    off_t (*lseek)(int fd, off_t offset, int whence);
+    off_t (*PREFIX(lseek))(int fd, off_t offset, int whence);
     int (*PREFIX(creat))(const char *pathname, mode_t mode);
     ssize_t (*write)(int fd, const void* buf, size_t count);
     int (*PREFIX(remove))(const char* pathname);
diff --git a/firmware/include/file.h b/firmware/include/file.h
index 694de48..d497ede 100644
--- a/firmware/include/file.h
+++ b/firmware/include/file.h
@@ -52,6 +52,7 @@
 #define filesize(x) sim_filesize(x)
 #define fsync(x) sim_fsync(x)
 #define ftruncate(x,y) sim_ftruncate(x,y)
+#define lseek(x,y,z) sim_lseek(x,y,z)
 #endif
 
 typedef int (*open_func)(const char* pathname, int flags);
diff --git a/uisimulator/common/io.c b/uisimulator/common/io.c
index ee2ad6f..d85cf68 100644
--- a/uisimulator/common/io.c
+++ b/uisimulator/common/io.c
@@ -145,7 +145,6 @@
     free(dir);
 }
 
-
 int sim_open(const char *name, int o)
 {
     char buffer[256]; /* sufficiently big */
@@ -153,7 +152,7 @@
 
     if(name[0] == '/') {
         sprintf(buffer, "%s%s", SIMULATOR_ARCHOS_ROOT, name);
-        
+
         debugf("We open the real file '%s'\n", buffer);
 #ifdef WIN32
         return (open)(buffer, opts);
@@ -166,11 +165,6 @@
     return -1;
 }
 
-int sim_close(int fd)
-{
-    return (close)(fd);
-}
-
 int sim_creat(const char *name, mode_t mode)
 {
     char buffer[256]; /* sufficiently big */
@@ -184,7 +178,7 @@
     fprintf(stderr, "WARNING, bad file name lacks slash: %s\n",
             name);
     return -1;
-}
+}      
 
 int sim_mkdir(const char *name, mode_t mode)
 {
@@ -242,13 +236,19 @@
     return -1;
 }
 
-off_t sim_filesize(int fd)
+/* rockbox off_t may be different from system off_t */
+long sim_lseek(int fildes, long offset, int whence)
 {
-    int old = lseek(fd, 0, SEEK_CUR);
-    int size = lseek(fd, 0, SEEK_END);
+    return lseek(fildes, offset, whence);
+}
+
+long sim_filesize(int fd)
+{
+    long old = lseek(fd, 0, SEEK_CUR);
+    long size = lseek(fd, 0, SEEK_END);
     lseek(fd, old, SEEK_SET);
 
-    return(size);
+    return size;
 }
 
 void fat_size(unsigned int* size, unsigned int* free)