| 326 | } |
| 327 | |
| 328 | static char * |
| 329 | x2s(uintmax_t x, bool alt_form, bool uppercase, char *s, size_t *slen_p) { |
| 330 | s = u2s(x, 16, uppercase, s, slen_p); |
| 331 | if (alt_form) { |
| 332 | s -= 2; |
| 333 | (*slen_p) += 2; |
| 334 | memcpy(s, uppercase ? "0X" : "0x", 2); |
| 335 | } |
| 336 | return s; |
| 337 | } |
| 338 | |
| 339 | size_t |
| 340 | malloc_vsnprintf(char *str, size_t size, const char *format, va_list ap) { |