static int
decimal(int x, char *ptr, int n)
{
    if (x < 0) {
        *ptr++ = '-'; ++n;
        x = -x;
    }
    return unsimal(x, ptr, n);
}
Exemple #2
0
static int
decimal(int x, char *ptr, int n)
{
    if (x < 0) {
        x = -x;
        ptr[n++] = '-';
    }
    return unsimal(x, ptr, n);
}
static int
unsimal(unsigned x, char *ptr, int n)
{
    if (10<=x) {
        n = unsimal(x/10, ptr, n);
        x %= 10;
    }
    ptr[n] = '0' + x;
    return 1+ n;
}
static int
unsimal(unsigned x, char *ptr, int n)
{
    if (10<=x) {
        unsigned const q = div10(x);
        x -= 10 * q;
        n = unsimal(q, ptr, n);
    }
    ptr[n] = '0' + x;
    return 1+ n;
}