diff options
Diffstat (limited to 'strings/longlong2str.c')
-rw-r--r-- | strings/longlong2str.c | 7 |
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) ; |