summaryrefslogtreecommitdiff
path: root/strings/longlong2str.c
diff options
context:
space:
mode:
Diffstat (limited to 'strings/longlong2str.c')
-rw-r--r--strings/longlong2str.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/strings/longlong2str.c b/strings/longlong2str.c
index 76d6c099729..a30eca40f2f 100644
--- a/strings/longlong2str.c
+++ b/strings/longlong2str.c
@@ -58,11 +58,12 @@
This assumes that longlong multiplication is faster than longlong division.
*/
-char *longlong2str(longlong val,char *dst,int radix)
+char *longlong2str(longlong val,char *dst,int radix, int upcase)
{
char buffer[65];
register char *p;
long long_val;
+ const char *dig_vec= upcase ? _dig_vec_upper : _dig_vec_lower;
ulonglong uval= (ulonglong) val;
if (radix < 0)
@@ -92,14 +93,14 @@ char *longlong2str(longlong val,char *dst,int radix)
{
ulonglong quo= uval/(uint) radix;
uint rem= (uint) (uval- quo* (uint) radix);
- *--p = _dig_vec_upper[rem];
+ *--p = dig_vec[rem];
uval= quo;
}
long_val= (long) uval;
while (long_val != 0)
{
long quo= long_val/radix;
- *--p = _dig_vec_upper[(uchar) (long_val - quo*radix)];
+ *--p = dig_vec[(uchar) (long_val - quo*radix)];
long_val= quo;
}
while ((*dst++ = *p++) != 0) ;