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:
Maurus Cuelenaere 2010-02-13 14:51:38 +00:00
parent 9bf28debd8
commit 1251fa5766

View file

@ -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;
}