ntoa_get_size(number) { local size = 0; if (number == 0) size++; loop { if (number == 0) return (size); number = number / 10; size++; } } ntoa_s(number) { local str, sign, size; if (number >= 0x8000) { number = 0 - number; sign = 1; } size = ntoa_get_size(number); if (sign) size++; str = galloc(size + 1); if (str == 0) return (0); [str + size] = 0; if (sign) [str] = '-'; else if (number == 0) [str] = '0'; loop { if (number == 0) return (str); [str + size - 1] = number % 10 + '0'; number = number / 10; size--; } }