| 313 | } |
| 314 | |
| 315 | static char * |
| 316 | x2s(uintmax_t x, bool alt_form, bool uppercase, char *s, size_t *slen_p) { |
| 317 | s = u2s(x, 16, uppercase, s, slen_p); |
| 318 | if (alt_form) { |
| 319 | s -= 2; |
| 320 | (*slen_p) += 2; |
| 321 | memcpy(s, uppercase ? "0X" : "0x", 2); |
| 322 | } |
| 323 | return s; |
| 324 | } |
| 325 | |
| 326 | size_t |
| 327 | malloc_vsnprintf(char *str, size_t size, const char *format, va_list ap) { |