]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/bootstrap/server/src/ARCH-amd64/libc32/__lltostr.c
Inital import
[l4.git] / l4 / pkg / bootstrap / server / src / ARCH-amd64 / libc32 / __lltostr.c
1 #include <string.h>
2 //#include <moddiv.h>
3
4 int __lltostr(char *s, int size, unsigned long long i, int base, char UpCase);
5
6 int __lltostr(char *s, int size, unsigned long long i, int base, char UpCase)
7 {
8   char *tmp;
9   unsigned int j=0;
10   //_moddiv_t r;
11
12   s[--size]=0;
13
14   tmp=s+size;
15
16   if ((base==0)||(base>36)) base=10;
17
18   j=0;
19   if (!i)
20   {
21     *(--tmp)='0';
22     j=1;
23   }
24
25   while((tmp>s)&&(i))
26   {
27     tmp--;
28     //    r = moddiv(i,base);
29     if ((*tmp=i%base+'0')>'9') *tmp+=(UpCase?'A':'a')-'9'-1;
30     i=i/base;
31     j++;
32   }
33   memmove(s,tmp,j+1);
34
35   return j;
36 }