13static int snputc(
char *s,
size_t n,
char c)
24static int snputs(
char *s,
size_t n,
char *str)
31 for (i = 0; i < n && str[i]; ++i)
39 char *enc =
"0123456789ABCDEF";
45 buf[--i] = enc[val&0xF];
55 char *enc =
"0123456789ABCDEF";
60 buf[--i] = enc[val&0xF];
78 buf[--i] = val%10 +
'0';
79 val = (val-val%10)/10;
82 return snputs(s, n, buf+i);
96 buf[--i] = val%10 +
'0';
97 val = (val-val%10)/10;
100 return snputs(s, n, buf+i);
111 buf[--i] =
'0' + (val & 1);
144 ret +=
snputc(s + ret, n - ret, (
char)
va_arg(args,
int));
147 ret +=
snputs(s + ret, n - ret, (
char*)
va_arg(args,
char*));
153 ret +=
snputc(s + ret, n - ret,
'-');
172 ret +=
snputc(s + ret, n - ret,
'-');
183 ret +=
snputc(s + ret, n - ret, *--fmt);
187 ret +=
snputs(s + ret, n - ret,
"0x");
202 ret +=
snputc(s + ret, n - ret, *(--fmt));
207 ret +=
snputc(s + ret, n - ret, *fmt);
226int snprintf(
char *s,
size_t n,
const char *fmt, ...)
int snprintf(char *s, size_t n, const char *fmt,...)
Formats a string into a buffer.
static int snputs(char *s, size_t n, char *str)
Writes a string, as much of it as fits.
static int snputlx(char *s, size_t n, uint64_t val)
Writes a 64-bit number in hexadecimal, all 16 digits.
static int snputul(char *s, size_t n, uint64_t val)
Writes an unsigned 64-bit number in decimal.
static int snputx(char *s, size_t n, uint32_t val)
Writes a 32-bit number in hexadecimal, all 8 digits.
int vsnprintf(char *s, size_t n, const char *fmt, va_list args)
Formats a string into a buffer, with its arguments in a va_list.
static int snputud(char *s, size_t n, uint32_t val)
Writes an unsigned 32-bit number in decimal.
static int snputb(char *s, size_t n, uint8_t val)
Writes a byte in binary, all 8 digits.
static int snputc(char *s, size_t n, char c)
Writes one character, if there is room.
signed long long int int64_t
unsigned long long int uint64_t