diff options
Diffstat (limited to 'src/kservice.c')
| -rw-r--r-- | src/kservice.c | 44 |
1 files changed, 13 insertions, 31 deletions
diff --git a/src/kservice.c b/src/kservice.c index aa5b39075c..8b959cbd68 100644 --- a/src/kservice.c +++ b/src/kservice.c @@ -593,7 +593,6 @@ RTM_EXPORT(rt_show_version); /* private function */ #define _ISDIGIT(c) ((unsigned)((c) - '0') < 10) -#ifdef RT_PRINTF_LONGLONG /** * This function will duplicate a string. * @@ -603,44 +602,38 @@ RTM_EXPORT(rt_show_version); * * @return the duplicated string pointer. */ +#ifdef RT_PRINTF_LONGLONG rt_inline int divide(long long *n, int base) +#else +rt_inline int divide(long *n, int base) +#endif /* RT_PRINTF_LONGLONG */ { int res; /* optimized for processor which does not support divide instructions. */ if (base == 10) { +#ifdef RT_PRINTF_LONGLONG 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; - - /* optimized for processor which does not support divide instructions. */ - if (base == 10) - { res = (int)(((unsigned long)*n) % 10U); *n = (long)(((unsigned long)*n) / 10U); +#endif } else { +#ifdef RT_PRINTF_LONGLONG + res = (int)(((unsigned long long)*n) % 16U); + *n = (long long)(((unsigned long long)*n) / 16U); +#else res = (int)(((unsigned long)*n) % 16U); *n = (long)(((unsigned long)*n) / 16U); +#endif } return res; } -#endif /* RT_PRINTF_LONGLONG */ rt_inline int skip_atoi(const char **s) { @@ -659,7 +652,6 @@ rt_inline int skip_atoi(const char **s) #define SPECIAL (1 << 5) /* 0x */ #define LARGE (1 << 6) /* use 'ABCDEF' instead of 'abcdef' */ -#ifdef RT_PRINTF_PRECISION static char *print_number(char *buf, char *end, #ifdef RT_PRINTF_LONGLONG @@ -669,20 +661,10 @@ static char *print_number(char *buf, #endif /* RT_PRINTF_LONGLONG */ int base, int s, +#ifdef RT_PRINTF_PRECISION int precision, - int type) -#else -static char *print_number(char *buf, - char *end, -#ifdef RT_PRINTF_LONGLONG - long long num, -#else - long num, -#endif /* RT_PRINTF_LONGLONG */ - int base, - int s, - int type) #endif /* RT_PRINTF_PRECISION */ + int type) { char c, sign; #ifdef RT_PRINTF_LONGLONG |
