|
@@ -593,7 +593,6 @@ RTM_EXPORT(rt_show_version);
|
|
/* private function */
|
|
/* private function */
|
|
#define _ISDIGIT(c) ((unsigned)((c) - '0') < 10)
|
|
#define _ISDIGIT(c) ((unsigned)((c) - '0') < 10)
|
|
|
|
|
|
-#ifdef RT_PRINTF_LONGLONG
|
|
|
|
/**
|
|
/**
|
|
* This function will duplicate a string.
|
|
* This function will duplicate a string.
|
|
*
|
|
*
|
|
@@ -603,44 +602,38 @@ RTM_EXPORT(rt_show_version);
|
|
*
|
|
*
|
|
* @return the duplicated string pointer.
|
|
* @return the duplicated string pointer.
|
|
*/
|
|
*/
|
|
|
|
+#ifdef RT_PRINTF_LONGLONG
|
|
rt_inline int divide(long long *n, int base)
|
|
rt_inline int divide(long long *n, int base)
|
|
|
|
+#else
|
|
|
|
+rt_inline int divide(long *n, int base)
|
|
|
|
+#endif /* RT_PRINTF_LONGLONG */
|
|
{
|
|
{
|
|
int res;
|
|
int res;
|
|
|
|
|
|
/* optimized for processor which does not support divide instructions. */
|
|
/* optimized for processor which does not support divide instructions. */
|
|
if (base == 10)
|
|
if (base == 10)
|
|
{
|
|
{
|
|
|
|
+#ifdef RT_PRINTF_LONGLONG
|
|
res = (int)(((unsigned long long)*n) % 10U);
|
|
res = (int)(((unsigned long long)*n) % 10U);
|
|
*n = (long long)(((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
|
|
#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);
|
|
res = (int)(((unsigned long)*n) % 10U);
|
|
*n = (long)(((unsigned long)*n) / 10U);
|
|
*n = (long)(((unsigned long)*n) / 10U);
|
|
|
|
+#endif
|
|
}
|
|
}
|
|
else
|
|
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);
|
|
res = (int)(((unsigned long)*n) % 16U);
|
|
*n = (long)(((unsigned long)*n) / 16U);
|
|
*n = (long)(((unsigned long)*n) / 16U);
|
|
|
|
+#endif
|
|
}
|
|
}
|
|
|
|
|
|
return res;
|
|
return res;
|
|
}
|
|
}
|
|
-#endif /* RT_PRINTF_LONGLONG */
|
|
|
|
|
|
|
|
rt_inline int skip_atoi(const char **s)
|
|
rt_inline int skip_atoi(const char **s)
|
|
{
|
|
{
|