| 123456789101112131415161718192021222324252627282930313233343536373839 |
- #include "ft_printf_internal.h"
- int printf_u(struct printf_data* data, struct printf_format_params* format, va_list args)
- {
- return printfNumber(data, format, va_arg(args, unsigned int), 0, DEC_ALPHABET);
- }
- int printf_o(struct printf_data* data, struct printf_format_params* format, va_list args)
- {
- return printfNumber(data, format, va_arg(args, unsigned int), 0, OCT_ALPHABET);
- }
- int printf_X(struct printf_data* data, struct printf_format_params* format, va_list args)
- {
- return printfNumber(data, format, va_arg(args, unsigned int), 0, HEX_ALPHABET);
- }
- int printf_x(struct printf_data* data, struct printf_format_params* format, va_list args)
- {
- return printfNumber(data, format, va_arg(args, unsigned int), 0, HEx_ALPHABET);
- }
- int printf_p(struct printf_data* data, struct printf_format_params* format, va_list args)
- {
- int result;
- int oldFlags = format->flags;
- void* ptr = va_arg(args, void*);
- if (!ptr)
- return printfString(data, format, "(nil)");
- format->flags |= PRINTF_FLAG_ALTERNATE_FORM;
- format->typeName = printf_x;
- result = printfNumber(data, format, (unsigned long long) ptr, 0, HEx_ALPHABET);
- format->typeName = printf_p;
- format->flags = oldFlags;
- return result;
- }
|