fc_itoa small refine
parent
6ea757f492
commit
2b0796b166
|
|
@ -4064,22 +4064,21 @@ int fc_safe_write_file_init(SafeWriteFileInfo *fi,
|
||||||
int fc_itoa(int64_t n, char *buff)
|
int fc_itoa(int64_t n, char *buff)
|
||||||
{
|
{
|
||||||
char *p;
|
char *p;
|
||||||
int start;
|
char *start;
|
||||||
int len;
|
int len;
|
||||||
int i;
|
|
||||||
|
|
||||||
if (n < 0) {
|
if (n < 0) {
|
||||||
n *= -1;
|
n *= -1;
|
||||||
*buff = '-';
|
*buff = '-';
|
||||||
start = 1;
|
start = buff + 1;
|
||||||
} else {
|
} else {
|
||||||
start = 0;
|
start = buff;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (n < FC_1E16) {
|
if (n < FC_1E16) {
|
||||||
if (n < FC_1E08) {
|
if (n < FC_1E08) {
|
||||||
if (n < FC_1E04) {
|
if (n < FC_1E04) {
|
||||||
p = buff + start;
|
p = start;
|
||||||
if (n < FC_1E02) {
|
if (n < FC_1E02) {
|
||||||
if (n < FC_1E01) {
|
if (n < FC_1E01) {
|
||||||
*p++ = '0' + n;
|
*p++ = '0' + n;
|
||||||
|
|
@ -4100,66 +4099,37 @@ int fc_itoa(int64_t n, char *buff)
|
||||||
return p - buff;
|
return p - buff;
|
||||||
} else {
|
} else {
|
||||||
if (n < FC_1E06) {
|
if (n < FC_1E06) {
|
||||||
if (n < FC_1E05) {
|
len = (n < FC_1E05) ? 5 : 6;
|
||||||
len = 5;
|
|
||||||
} else {
|
|
||||||
len = 6;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (n < FC_1E07) {
|
len = (n < FC_1E07) ? 7 : 8;
|
||||||
len = 7;
|
|
||||||
} else {
|
|
||||||
len = 8;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (n < FC_1E12) {
|
if (n < FC_1E12) {
|
||||||
if (n < FC_1E10) {
|
if (n < FC_1E10) {
|
||||||
if (n < FC_1E09) {
|
len = (n < FC_1E09) ? 9 : 10;
|
||||||
len = 9;
|
|
||||||
} else {
|
|
||||||
len = 10;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (n < FC_1E11) {
|
len = (n < FC_1E11) ? 11 : 12;
|
||||||
len = 11;
|
|
||||||
} else {
|
|
||||||
len = 12;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (n < FC_1E14) {
|
if (n < FC_1E14) {
|
||||||
if (n < FC_1E13) {
|
len = (n < FC_1E13) ? 13 : 14;
|
||||||
len = 13;
|
|
||||||
} else {
|
|
||||||
len = 14;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (n < FC_1E15) {
|
len = (n < FC_1E15) ? 15 : 16;
|
||||||
len = 15;
|
|
||||||
} else {
|
|
||||||
len = 16;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (n < FC_1E18) {
|
if (n < FC_1E18) {
|
||||||
if (n < FC_1E17) {
|
len = (n < FC_1E17) ? 17 : 18;
|
||||||
len = 17;
|
|
||||||
} else {
|
|
||||||
len = 18;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
len = 19;
|
len = 19;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
p = buff + start + len - 1;
|
for (p=start + len - 1; p>=start; p--) {
|
||||||
for (i=0; i<len; i++) {
|
*p = '0' + n % 10;
|
||||||
*p-- = '0' + n % 10;
|
|
||||||
n /= 10;
|
n /= 10;
|
||||||
}
|
}
|
||||||
return start + len;
|
return (start - buff) + len;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue