forked from KolibriOS/kolibrios
libc.obj : Try fix "%o" scanf bug.
git-svn-id: svn://kolibrios.org@9862 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
b3232bd390
commit
1e116c9679
@ -24,17 +24,17 @@ typedef void (*virtual_ungetc)(void *sp, int c, const void *obj);
|
|||||||
|
|
||||||
enum flags_t
|
enum flags_t
|
||||||
{
|
{
|
||||||
flag_unsigned = 0x02,
|
flag_unsigned = 0x02,
|
||||||
flag_register = 0x04,
|
flag_register = 0x04,
|
||||||
flag_plus = 0x08,
|
flag_plus = 0x08,
|
||||||
flag_left_just = 0x10,
|
flag_left_just = 0x10,
|
||||||
flag_lead_zeros = 0x20,
|
flag_lead_zeros = 0x20,
|
||||||
flag_space_plus = 0x40,
|
flag_space_plus = 0x40,
|
||||||
flag_hash_sign = 0x80,
|
flag_hash_sign = 0x80,
|
||||||
flag_point = 0x100
|
flag_point = 0x100
|
||||||
};
|
};
|
||||||
|
|
||||||
int try_parse_real(long double *real, int ch, const void *src, void *save, virtual_getc vgetc, virtual_ungetc vungetc)
|
int try_parse_real(long double *real, int ch, const void *src, void *save, virtual_getc vgetc, virtual_ungetc vungetc)
|
||||||
// returns 1 if OK, -1 == EOF, -2 parse broken
|
// returns 1 if OK, -1 == EOF, -2 parse broken
|
||||||
{
|
{
|
||||||
int sign = 1, have_digits = 0;
|
int sign = 1, have_digits = 0;
|
||||||
@ -153,7 +153,7 @@ int try_parse_real(long double *real, int ch, const void *src, void *save, v
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int try_parse_int(long long *digit, int ch, const void *src, void *save, virtual_getc vgetc, virtual_ungetc vungetc)
|
int try_parse_int(long long *digit, int ch, const void *src, void *save, virtual_getc vgetc, virtual_ungetc vungetc)
|
||||||
{
|
{
|
||||||
int sign = 1, base = 10, have_digits = 0;
|
int sign = 1, base = 10, have_digits = 0;
|
||||||
|
|
||||||
@ -172,7 +172,7 @@ int try_parse_int(long long *digit, int ch, const void *src, void *save, vir
|
|||||||
if (ch == '0') // octal or hex, read next
|
if (ch == '0') // octal or hex, read next
|
||||||
{
|
{
|
||||||
ch = vgetc(save, src);
|
ch = vgetc(save, src);
|
||||||
if (ch == 'c' || ch == 'C')
|
if (ch == 'o')
|
||||||
base = 8;
|
base = 8;
|
||||||
else if (ch == 'x' || ch == 'X')
|
else if (ch == 'x' || ch == 'X')
|
||||||
base = 16;
|
base = 16;
|
||||||
|
Loading…
Reference in New Issue
Block a user