forked from len0rd/rockbox
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
This commit is contained in:
parent
00dd42a713
commit
399c081f93
4 changed files with 15 additions and 14 deletions
|
|
@ -135,7 +135,7 @@ static const struct plugin_api rockbox_api = {
|
|||
(open_func)PREFIX(open),
|
||||
close,
|
||||
(read_func)read,
|
||||
lseek,
|
||||
PREFIX(lseek),
|
||||
(creat_func)PREFIX(creat),
|
||||
(write_func)write,
|
||||
PREFIX(remove),
|
||||
|
|
|
|||
|
|
@ -177,7 +177,7 @@ struct plugin_api {
|
|||
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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -145,7 +145,6 @@ void sim_closedir(MYDIR *dir)
|
|||
free(dir);
|
||||
}
|
||||
|
||||
|
||||
int sim_open(const char *name, int o)
|
||||
{
|
||||
char buffer[256]; /* sufficiently big */
|
||||
|
|
@ -166,11 +165,6 @@ int sim_open(const char *name, int o)
|
|||
return -1;
|
||||
}
|
||||
|
||||
int sim_close(int fd)
|
||||
{
|
||||
return (close)(fd);
|
||||
}
|
||||
|
||||
int sim_creat(const char *name, mode_t mode)
|
||||
{
|
||||
char buffer[256]; /* sufficiently big */
|
||||
|
|
@ -242,13 +236,19 @@ int sim_rename(const char *oldpath, const char* newpath)
|
|||
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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue