diff options
| author | 周传福 <[email protected]> | 2019-05-19 14:37:34 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-05-19 14:37:34 +0800 |
| commit | 24f38acf5265a7bc53b81014d91ce43d7db5e777 (patch) | |
| tree | 251ad85c701eb8b92944b6d5520d4acf4bcf5a61 /src | |
| parent | 6ebb2c75d956449fa535481c42933bdb94b691c8 (diff) | |
| parent | c8efc0032de0e5f93218bf4a118f7b696d54d254 (diff) | |
Merge branch 'master' into stm32_uart_tx_dma
Diffstat (limited to 'src')
| -rw-r--r-- | src/Kconfig | 2 | ||||
| -rw-r--r-- | src/kservice.c | 29 |
2 files changed, 30 insertions, 1 deletions
diff --git a/src/Kconfig b/src/Kconfig index 21b1d63806..d301d25f55 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -331,7 +331,7 @@ endmenu config RT_VER_NUM hex - default 0x40001 + default 0x40002 help RT-Thread version number diff --git a/src/kservice.c b/src/kservice.c index c940e86d0b..322fb61e28 100644 --- a/src/kservice.c +++ b/src/kservice.c @@ -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) |
