itoa/ltoa bugfix (0 would return empty string instead of "0")
This was SVN commit r190.
This commit is contained in:
parent
192e347a38
commit
d6e6ef1569
@ -20,6 +20,7 @@
|
||||
#include <cassert>
|
||||
#include <cstdlib>
|
||||
#include <cmath>
|
||||
#include <string.h>
|
||||
|
||||
#include "lib.h"
|
||||
#include "misc.h"
|
||||
@ -244,11 +245,12 @@ char *_ultoa(unsigned long int value, char *out, int radix)
|
||||
char buf[21];
|
||||
char *p=buf+21;
|
||||
|
||||
while (value)
|
||||
do
|
||||
{
|
||||
*(--p)=digits[value % radix];
|
||||
value /= radix;
|
||||
}
|
||||
while (value);
|
||||
|
||||
memcpy(out, p, (buf+21)-p);
|
||||
out[(buf+21)-p]=0;
|
||||
@ -262,11 +264,12 @@ char *_ltoa(long val, char *out, int radix)
|
||||
bool sign=val < 0;
|
||||
if (sign) val=-val;
|
||||
|
||||
while (val)
|
||||
do
|
||||
{
|
||||
*(--p)=digits[val % radix];
|
||||
val /= radix;
|
||||
}
|
||||
while (val);
|
||||
|
||||
if (sign) *(--p) = '-';
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user