1*bad58c9cSBen Gras #include <lib.h> 2*bad58c9cSBen Gras /* Integer to ASCII for signed decimal integers. */ 3*bad58c9cSBen Gras 4*bad58c9cSBen Gras static int next; 5*bad58c9cSBen Gras static char qbuf[8]; 6*bad58c9cSBen Gras 7*bad58c9cSBen Gras char *itoa(int n); 8*bad58c9cSBen Gras itoa(int n)9*bad58c9cSBen Graschar *itoa(int n) 10*bad58c9cSBen Gras { 11*bad58c9cSBen Gras register int r, k; 12*bad58c9cSBen Gras int flag = 0; 13*bad58c9cSBen Gras 14*bad58c9cSBen Gras next = 0; 15*bad58c9cSBen Gras if (n < 0) { 16*bad58c9cSBen Gras qbuf[next++] = '-'; 17*bad58c9cSBen Gras n = -n; 18*bad58c9cSBen Gras } 19*bad58c9cSBen Gras if (n == 0) { 20*bad58c9cSBen Gras qbuf[next++] = '0'; 21*bad58c9cSBen Gras } else { 22*bad58c9cSBen Gras k = 10000; 23*bad58c9cSBen Gras while (k > 0) { 24*bad58c9cSBen Gras r = n / k; 25*bad58c9cSBen Gras if (flag || r > 0) { 26*bad58c9cSBen Gras qbuf[next++] = '0' + r; 27*bad58c9cSBen Gras flag = 1; 28*bad58c9cSBen Gras } 29*bad58c9cSBen Gras n -= r * k; 30*bad58c9cSBen Gras k = k / 10; 31*bad58c9cSBen Gras } 32*bad58c9cSBen Gras } 33*bad58c9cSBen Gras qbuf[next] = 0; 34*bad58c9cSBen Gras return(qbuf); 35*bad58c9cSBen Gras } 36