diff options
| author | Charles <sircharlesaze@gmail.com> | 2019-10-30 03:57:47 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2019-10-30 03:57:47 +0100 |
| commit | d963161275bcb3af4097872ba033da3ff9255606 (patch) | |
| tree | 41476dcab3fa209ae6f49c6f1abe37d454674a12 /convert_ptr.c | |
| parent | 07c9232121c8d6cb1e473bd7b623792253375d93 (diff) | |
| download | ft_printf-d963161275bcb3af4097872ba033da3ff9255606.tar.gz ft_printf-d963161275bcb3af4097872ba033da3ff9255606.tar.bz2 ft_printf-d963161275bcb3af4097872ba033da3ff9255606.zip | |
Individual convert functions, more flags
- Each conversion type is handle by individual functions in convert_*
files
- handle the ' ', '#', '+' and length modifier flags.
Diffstat (limited to 'convert_ptr.c')
| -rw-r--r-- | convert_ptr.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/convert_ptr.c b/convert_ptr.c new file mode 100644 index 0000000..c74222c --- /dev/null +++ b/convert_ptr.c @@ -0,0 +1,22 @@ +#include <stdarg.h> +#include "header.h" + +char *convert_ptr(va_list ap, t_pformat *pformat) +{ + char *str = ITOA_HEX_LOW(va_arg(ap, void*)); + + str = handle_precision(pformat, str); + str = add_hex_prefix(str); + str = handle_padding(pformat, str); + return (str); +} + +char *add_hex_prefix(char *str) +{ + char *tmp; + + if ((tmp = ft_strjoin("0x", str)) == NULL) + return (NULL); + free(str); + return (tmp); +} |
