Lua fscanf: use pointer of file descriptor instead of file descriptor itself to avoid 64-bit pointer<->int clash (aka fix yellow).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24633 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
9bf28debd8
commit
1251fa5766
1 changed files with 4 additions and 3 deletions
|
@ -266,7 +266,7 @@ static int scan(int (*peek)(void *userp),
|
|||
|
||||
static int fspeek(void *userp)
|
||||
{
|
||||
int fd = (int) userp;
|
||||
int fd = *((int*) userp);
|
||||
char buf = 0;
|
||||
if(rb->read(fd, &buf, 1) == 1)
|
||||
rb->lseek(fd, -1, SEEK_CUR);
|
||||
|
@ -275,7 +275,8 @@ static int fspeek(void *userp)
|
|||
|
||||
static void fspop(void *userp)
|
||||
{
|
||||
rb->lseek((int) userp, 1, SEEK_CUR);
|
||||
int fd = *((int*) userp);
|
||||
rb->lseek(fd, 1, SEEK_CUR);
|
||||
}
|
||||
|
||||
int PREFIX(fscanf)(int fd, const char *fmt, ...)
|
||||
|
@ -284,7 +285,7 @@ int PREFIX(fscanf)(int fd, const char *fmt, ...)
|
|||
va_list ap;
|
||||
|
||||
va_start(ap, fmt);
|
||||
r = scan(fspeek, fspop, (void*) fd, fmt, ap);
|
||||
r = scan(fspeek, fspop, &fd, fmt, ap);
|
||||
va_end(ap);
|
||||
return r;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue