diff options
-rw-r--r-- | apps/plugins/lua/fscanf.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/apps/plugins/lua/fscanf.c b/apps/plugins/lua/fscanf.c index 25058af7da..9f5f129d3c 100644 --- a/apps/plugins/lua/fscanf.c +++ b/apps/plugins/lua/fscanf.c | |||
@@ -266,7 +266,7 @@ static int scan(int (*peek)(void *userp), | |||
266 | 266 | ||
267 | static int fspeek(void *userp) | 267 | static int fspeek(void *userp) |
268 | { | 268 | { |
269 | int fd = (int) userp; | 269 | int fd = *((int*) userp); |
270 | char buf = 0; | 270 | char buf = 0; |
271 | if(rb->read(fd, &buf, 1) == 1) | 271 | if(rb->read(fd, &buf, 1) == 1) |
272 | rb->lseek(fd, -1, SEEK_CUR); | 272 | rb->lseek(fd, -1, SEEK_CUR); |
@@ -275,7 +275,8 @@ static int fspeek(void *userp) | |||
275 | 275 | ||
276 | static void fspop(void *userp) | 276 | static void fspop(void *userp) |
277 | { | 277 | { |
278 | rb->lseek((int) userp, 1, SEEK_CUR); | 278 | int fd = *((int*) userp); |
279 | rb->lseek(fd, 1, SEEK_CUR); | ||
279 | } | 280 | } |
280 | 281 | ||
281 | int PREFIX(fscanf)(int fd, const char *fmt, ...) | 282 | int PREFIX(fscanf)(int fd, const char *fmt, ...) |
@@ -284,7 +285,7 @@ int PREFIX(fscanf)(int fd, const char *fmt, ...) | |||
284 | va_list ap; | 285 | va_list ap; |
285 | 286 | ||
286 | va_start(ap, fmt); | 287 | va_start(ap, fmt); |
287 | r = scan(fspeek, fspop, (void*) fd, fmt, ap); | 288 | r = scan(fspeek, fspop, &fd, fmt, ap); |
288 | va_end(ap); | 289 | va_end(ap); |
289 | return r; | 290 | return r; |
290 | } | 291 | } |