forked from len0rd/rockbox
Lua replace fscanf
Rocklua was using the full fscanf implementation to simply read %ld for the file:read("*n") function wasting 1k on unneeded/unused functionality Instead, I've implemented a filetol function to duplicate it without the extra overhead using strtol which as an added bonus ERANGE errors now resolve to LONG_MIN and LONGMAX instead of integer overflow filetol() reads long int from an open file, skips preceding whitespaces returns -1 if error, 1 on success. *num set to LONG_MAX or LONG_MIN on overflow. If number of digits is > than LUAI_MAXNUMBER2STR filepointer will continue till the next non digit but buffer will stop being filled with characters. Preceding zero is ignored. Change-Id: Ia42d0f73c63a894625bca4581e9b7e1cc7387fd2
This commit is contained in:
parent
cc0a4c632a
commit
eab73b3dee
6 changed files with 66 additions and 295 deletions
|
@ -43,7 +43,5 @@ extern int errno;
|
|||
#define memcmp rb->memcmp
|
||||
#define strlen rb->strlen
|
||||
|
||||
extern int PREFIX(fscanf)(int fd, const char *fmt, ...);
|
||||
|
||||
#endif /* _ROCKLIBC_H_ */
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue