libkernaux/src/ntoa.c

36 lines
633 B
C
Raw Normal View History

2020-12-07 04:46:37 +00:00
#ifdef HAVE_CONFIG_H
2020-11-30 11:40:33 +00:00
#include "config.h"
2020-12-07 04:46:37 +00:00
#endif
2020-11-30 11:40:33 +00:00
#include <kernaux/ntoa.h>
2022-01-18 07:39:28 +00:00
void kernaux_utoa10(uint64_t value, char *buffer)
{
char *pos = buffer;
if (value == 0) *(pos++) = '0';
while (value > 0) {
*(pos++) = value % 10 + '0';
value = value / 10;
}
*(pos--) = '\0';
while (buffer < pos) {
const char tmp = *buffer;
*(buffer++) = *pos;
*(pos--) = tmp;
}
}
2022-01-18 08:12:54 +00:00
void kernaux_itoa10(int64_t value, char *buffer)
{
if (value >= 0) {
kernaux_utoa10(value, buffer);
} else {
*(buffer++) = '-';
kernaux_utoa10(-value, buffer);
}
}