blob: fa71be9abfa473861967830ecf518ff51f5856c6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#include <string.h>
#include <stdlib.h>
int __ltostr(char *s, unsigned int size, unsigned long i, unsigned int base, int UpCase)
{
char *tmp;
unsigned int j=0;
s[--size]=0;
tmp=s+size;
if ((base==0)||(base>36)) base=10;
j=0;
if (!i)
{
*(--tmp)='0';
j=1;
}
while((tmp>s)&&(i))
{
tmp--;
if ((*tmp=i%base+'0')>'9') *tmp+=(UpCase?'A':'a')-'9'-1;
i=i/base;
j++;
}
memmove(s,tmp,j+1);
return j;
}
|