parent
9de2942b15
commit
edccf1c07d
|
@ -545,6 +545,26 @@ RTM_EXPORT(rt_show_version);
|
|||
/* private function */
|
||||
#define isdigit(c) ((unsigned)((c) - '0') < 10)
|
||||
|
||||
#ifdef RT_PRINTF_LONGLONG
|
||||
rt_inline int divide(long long *n, int base)
|
||||
{
|
||||
int res;
|
||||
|
||||
/* optimized for processor which does not support divide instructions. */
|
||||
if (base == 10)
|
||||
{
|
||||
res = (int)(((unsigned long long)*n) % 10U);
|
||||
*n = (long long)(((unsigned long long)*n) / 10U);
|
||||
}
|
||||
else
|
||||
{
|
||||
res = (int)(((unsigned long long)*n) % 16U);
|
||||
*n = (long long)(((unsigned long long)*n) / 16U);
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
#else
|
||||
rt_inline int divide(long *n, int base)
|
||||
{
|
||||
int res;
|
||||
|
@ -563,6 +583,7 @@ rt_inline int divide(long *n, int base)
|
|||
|
||||
return res;
|
||||
}
|
||||
#endif
|
||||
|
||||
rt_inline int skip_atoi(const char **s)
|
||||
{
|
||||
|
@ -584,7 +605,11 @@ rt_inline int skip_atoi(const char **s)
|
|||
#ifdef RT_PRINTF_PRECISION
|
||||
static char *print_number(char *buf,
|
||||
char *end,
|
||||
#ifdef RT_PRINTF_LONGLONG
|
||||
long long num,
|
||||
#else
|
||||
long num,
|
||||
#endif
|
||||
int base,
|
||||
int s,
|
||||
int precision,
|
||||
|
@ -592,7 +617,11 @@ static char *print_number(char *buf,
|
|||
#else
|
||||
static char *print_number(char *buf,
|
||||
char *end,
|
||||
#ifdef RT_PRINTF_LONGLONG
|
||||
long long num,
|
||||
#else
|
||||
long num,
|
||||
#endif
|
||||
int base,
|
||||
int s,
|
||||
int type)
|
||||
|
|
Loading…
Reference in New Issue