Rename all ft_vprintf_*.c to ft_va_*.c
This commit is contained in:
@@ -6,7 +6,7 @@
|
|||||||
# By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ #
|
# By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2022/01/18 15:11:16 by gbaconni #+# #+# #
|
# Created: 2022/01/18 15:11:16 by gbaconni #+# #+# #
|
||||||
# Updated: 2022/04/29 10:20:22 by gbaconni ### ########.fr #
|
# Updated: 2022/04/29 14:18:53 by gbaconni ### ########.fr #
|
||||||
# #
|
# #
|
||||||
# **************************************************************************** #
|
# **************************************************************************** #
|
||||||
#
|
#
|
||||||
@@ -33,25 +33,27 @@ SRC = \
|
|||||||
$(LIBFT)/ft_isdigit.c \
|
$(LIBFT)/ft_isdigit.c \
|
||||||
$(LIBFT)/ft_itoa.c \
|
$(LIBFT)/ft_itoa.c \
|
||||||
ft_eoflags.c \
|
ft_eoflags.c \
|
||||||
ft_skipchars.c \
|
|
||||||
ft_strrev.c \
|
ft_strrev.c \
|
||||||
ft_ltoa_base.c \
|
ft_ltoa_base.c \
|
||||||
ft_putchar.c \
|
ft_putchar.c \
|
||||||
ft_puts.c \
|
ft_puts.c \
|
||||||
ft_vprintf_char.c \
|
ft_va_char.c \
|
||||||
ft_vprintf_string.c \
|
ft_va_string.c \
|
||||||
ft_vprintf_pointer.c \
|
ft_va_pointer.c \
|
||||||
ft_vprintf_decimal.c \
|
ft_va_decimal.c \
|
||||||
ft_vprintf_hexadecimal.c \
|
ft_va_hexadecimal.c \
|
||||||
ft_vprintf_percent.c \
|
ft_va_percent.c \
|
||||||
ft_vprintf_escape.c \
|
ft_va_escape.c \
|
||||||
ft_vprintf_other.c \
|
ft_va_other.c \
|
||||||
ft_vprintf.c \
|
ft_vprintf.c \
|
||||||
ft_printf.c
|
ft_printf.c
|
||||||
|
|
||||||
SRC_BONUS = \
|
SRC_BONUS = \
|
||||||
ft_vprintf_flags_bonus.c \
|
ft_va_flags_bonus.c \
|
||||||
ft_vprintf_precision_bonus.c
|
ft_va_precision_bonus.c \
|
||||||
|
ft_va_string_bonus.c \
|
||||||
|
ft_va_decimal_bonus.c \
|
||||||
|
ft_va_hexadecimal_bonus.c
|
||||||
|
|
||||||
OBJ = ${SRC:.c=.o}
|
OBJ = ${SRC:.c=.o}
|
||||||
OBJ_BONUS = ${SRC_BONUS:.c=.o}
|
OBJ_BONUS = ${SRC_BONUS:.c=.o}
|
||||||
@@ -95,7 +97,7 @@ MAKE = make
|
|||||||
|
|
||||||
all: $(NAME)
|
all: $(NAME)
|
||||||
|
|
||||||
$(NAME): $(OBJ)
|
$(NAME): $(OBJ) $(OBJ_BONUS)
|
||||||
$(AR) $(ARFLAGS) $@ $^
|
$(AR) $(ARFLAGS) $@ $^
|
||||||
|
|
||||||
%.o: %.c
|
%.o: %.c
|
||||||
@@ -110,7 +112,7 @@ fclean: clean
|
|||||||
|
|
||||||
re: fclean all
|
re: fclean all
|
||||||
|
|
||||||
bonus: $(OBJ_BONUS)
|
bonus: $(OBJ) $(OBJ_BONUS)
|
||||||
$(AR) $(ARFLAGS) $(NAME) $(OBJ_BONUS)
|
$(AR) $(ARFLAGS) $(NAME) $(OBJ_BONUS)
|
||||||
|
|
||||||
rebonus: fclean bonus
|
rebonus: fclean bonus
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/04/26 10:13:59 by gbaconni #+# #+# */
|
/* Created: 2022/04/26 10:13:59 by gbaconni #+# #+# */
|
||||||
/* Updated: 2022/04/29 08:58:41 by gbaconni ### lausanne.ch */
|
/* Updated: 2022/04/29 14:36:20 by gbaconni ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|||||||
@@ -1,18 +1,18 @@
|
|||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* */
|
/* */
|
||||||
/* ::: :::::::: */
|
/* ::: :::::::: */
|
||||||
/* ft_vprintf_char.c :+: :+: :+: */
|
/* ft_va_char.c :+: :+: :+: */
|
||||||
/* +:+ +:+ +:+ */
|
/* +:+ +:+ +:+ */
|
||||||
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/01/20 11:54:48 by gbaconni #+# #+# */
|
/* Created: 2022/01/20 11:54:48 by gbaconni #+# #+# */
|
||||||
/* Updated: 2022/04/17 20:56:56 by gbaconni ### lausanne.ch */
|
/* Updated: 2022/04/29 14:33:41 by gbaconni ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "libftprintf.h"
|
#include "libftprintf.h"
|
||||||
|
|
||||||
int ft_vprintf_char(const char *format, va_list ap)
|
int ft_va_char(const char *format, va_list ap)
|
||||||
{
|
{
|
||||||
char c;
|
char c;
|
||||||
int ret;
|
int ret;
|
||||||
@@ -1,18 +1,18 @@
|
|||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* */
|
/* */
|
||||||
/* ::: :::::::: */
|
/* ::: :::::::: */
|
||||||
/* ft_vprintf_decimal.c :+: :+: :+: */
|
/* ft_va_decimal.c :+: :+: :+: */
|
||||||
/* +:+ +:+ +:+ */
|
/* +:+ +:+ +:+ */
|
||||||
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/01/20 11:55:02 by gbaconni #+# #+# */
|
/* Created: 2022/01/20 11:55:02 by gbaconni #+# #+# */
|
||||||
/* Updated: 2022/04/29 10:59:23 by gbaconni ### ########.fr */
|
/* Updated: 2022/04/29 14:42:04 by gbaconni ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "libftprintf.h"
|
#include "libftprintf.h"
|
||||||
|
|
||||||
int ft_vprintf_decimal(const char *format, va_list ap)
|
int ft_va_decimal(const char *format, va_list ap)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
unsigned int u;
|
unsigned int u;
|
||||||
@@ -32,23 +32,7 @@ int ft_vprintf_decimal(const char *format, va_list ap)
|
|||||||
d = va_arg(ap, int);
|
d = va_arg(ap, int);
|
||||||
s = ft_itoa(d);
|
s = ft_itoa(d);
|
||||||
}
|
}
|
||||||
#ifdef BONUS
|
ret += ft_va_decimal_bonus(format, ap, s);
|
||||||
int precision;
|
|
||||||
int len;
|
|
||||||
precision = ft_vprintf_precision_bonus(format, ap);
|
|
||||||
len = 0;
|
|
||||||
if (precision > 0)
|
|
||||||
{
|
|
||||||
len = precision - ft_strlen(s);
|
|
||||||
while (len-- > 0)
|
|
||||||
{
|
|
||||||
if (flags & F_ZERO)
|
|
||||||
ret += ft_putchar('0');
|
|
||||||
else
|
|
||||||
ret += ft_putchar(' ');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
ret += ft_puts(s);
|
ret += ft_puts(s);
|
||||||
free(s);
|
free(s);
|
||||||
return (ret);
|
return (ret);
|
||||||
38
libftprintf/ft_va_decimal_bonus.c
Normal file
38
libftprintf/ft_va_decimal_bonus.c
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
/* ************************************************************************** */
|
||||||
|
/* */
|
||||||
|
/* ::: :::::::: */
|
||||||
|
/* ft_va_decimal_bonus.c :+: :+: :+: */
|
||||||
|
/* +:+ +:+ +:+ */
|
||||||
|
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
||||||
|
/* +#+#+#+#+#+ +#+ */
|
||||||
|
/* Created: 2022/01/20 11:55:02 by gbaconni #+# #+# */
|
||||||
|
/* Updated: 2022/04/29 14:41:04 by gbaconni ### ########.fr */
|
||||||
|
/* */
|
||||||
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
#include "libftprintf.h"
|
||||||
|
|
||||||
|
int ft_va_decimal_bonus(const char *format, va_list ap, char *s)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
int flags;
|
||||||
|
int precision;
|
||||||
|
int len;
|
||||||
|
|
||||||
|
ret = 0;
|
||||||
|
flags = ft_va_flags_bonus(format, ap);
|
||||||
|
precision = ft_va_precision_bonus(format, ap);
|
||||||
|
len = 0;
|
||||||
|
if (precision > 0)
|
||||||
|
{
|
||||||
|
len = precision - ft_strlen(s);
|
||||||
|
while (len-- > 0)
|
||||||
|
{
|
||||||
|
if (flags & F_ZERO)
|
||||||
|
ret += ft_putchar('0');
|
||||||
|
else
|
||||||
|
ret += ft_putchar(' ');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return (ret);
|
||||||
|
}
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* */
|
/* */
|
||||||
/* ::: :::::::: */
|
/* ::: :::::::: */
|
||||||
/* ft_vprintf_escape.c :+: :+: :+: */
|
/* ft_va_escape.c :+: :+: :+: */
|
||||||
/* +:+ +:+ +:+ */
|
/* +:+ +:+ +:+ */
|
||||||
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/04/17 22:35:03 by gbaconni #+# #+# */
|
/* Created: 2022/04/17 22:35:03 by gbaconni #+# #+# */
|
||||||
/* Updated: 2022/04/23 23:37:55 by gbaconni ### lausanne.ch */
|
/* Updated: 2022/04/29 14:34:51 by gbaconni ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
static char ft_unescape_char(const char c);
|
static char ft_unescape_char(const char c);
|
||||||
static size_t ft_unescape_len(const char *str);
|
static size_t ft_unescape_len(const char *str);
|
||||||
|
|
||||||
int ft_vprintf_escape(const char *format, va_list ap)
|
int ft_va_escape(const char *format, va_list ap)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
@@ -1,18 +1,18 @@
|
|||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* */
|
/* */
|
||||||
/* ::: :::::::: */
|
/* ::: :::::::: */
|
||||||
/* ft_vprintf_flags_bonus.c :+: :+: :+: */
|
/* ft_va_flags_bonus.c :+: :+: :+: */
|
||||||
/* +:+ +:+ +:+ */
|
/* +:+ +:+ +:+ */
|
||||||
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/04/25 13:15:32 by gbaconni #+# #+# */
|
/* Created: 2022/04/25 13:15:32 by gbaconni #+# #+# */
|
||||||
/* Updated: 2022/04/29 08:59:37 by gbaconni ### lausanne.ch */
|
/* Updated: 2022/04/29 14:41:08 by gbaconni ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "libftprintf.h"
|
#include "libftprintf.h"
|
||||||
|
|
||||||
int ft_vprintf_flags_bonus(const char *format, va_list ap)
|
int ft_va_flags_bonus(const char *format, va_list ap)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
const char *f;
|
const char *f;
|
||||||
@@ -1,18 +1,18 @@
|
|||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* */
|
/* */
|
||||||
/* ::: :::::::: */
|
/* ::: :::::::: */
|
||||||
/* ft_vprintf_hexadecimal.c :+: :+: :+: */
|
/* ft_va_hexadecimal.c :+: :+: :+: */
|
||||||
/* +:+ +:+ +:+ */
|
/* +:+ +:+ +:+ */
|
||||||
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/01/20 11:55:33 by gbaconni #+# #+# */
|
/* Created: 2022/01/20 11:55:33 by gbaconni #+# #+# */
|
||||||
/* Updated: 2022/04/29 10:58:24 by gbaconni ### ########.fr */
|
/* Updated: 2022/04/29 14:42:36 by gbaconni ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "libftprintf.h"
|
#include "libftprintf.h"
|
||||||
|
|
||||||
int ft_vprintf_hexadecimal(const char *format, va_list ap)
|
int ft_va_hexadecimal(const char *format, va_list ap)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
long l;
|
long l;
|
||||||
@@ -26,10 +26,7 @@ int ft_vprintf_hexadecimal(const char *format, va_list ap)
|
|||||||
s = ft_ltoa_base(l, HEXA_LOWER);
|
s = ft_ltoa_base(l, HEXA_LOWER);
|
||||||
else
|
else
|
||||||
s = ft_ltoa_base(l, HEXA_UPPER);
|
s = ft_ltoa_base(l, HEXA_UPPER);
|
||||||
#ifdef BONUS
|
ret += ft_va_hexadecimal_bonus(format, ap, s);
|
||||||
if (ft_vprintf_flags_bonus(format, ap) & F_HASH)
|
|
||||||
ret += ft_puts("0x");
|
|
||||||
#endif
|
|
||||||
ret += ft_puts(s);
|
ret += ft_puts(s);
|
||||||
free(s);
|
free(s);
|
||||||
return (ret);
|
return (ret);
|
||||||
26
libftprintf/ft_va_hexadecimal_bonus.c
Normal file
26
libftprintf/ft_va_hexadecimal_bonus.c
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
/* ************************************************************************** */
|
||||||
|
/* */
|
||||||
|
/* ::: :::::::: */
|
||||||
|
/* ft_va_hexadecimal_bonus.c :+: :+: :+: */
|
||||||
|
/* +:+ +:+ +:+ */
|
||||||
|
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
||||||
|
/* +#+#+#+#+#+ +#+ */
|
||||||
|
/* Created: 2022/01/20 11:55:33 by gbaconni #+# #+# */
|
||||||
|
/* Updated: 2022/04/29 14:41:30 by gbaconni ### ########.fr */
|
||||||
|
/* */
|
||||||
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
#include "libftprintf.h"
|
||||||
|
|
||||||
|
int ft_va_hexadecimal_bonus(const char *format, va_list ap, char *s)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
int flags;
|
||||||
|
|
||||||
|
(void) s;
|
||||||
|
ret = 0;
|
||||||
|
flags = ft_va_flags_bonus(format, ap);
|
||||||
|
if (flags & F_HASH)
|
||||||
|
ret += ft_puts("0x");
|
||||||
|
return (ret);
|
||||||
|
}
|
||||||
@@ -1,18 +1,18 @@
|
|||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* */
|
/* */
|
||||||
/* ::: :::::::: */
|
/* ::: :::::::: */
|
||||||
/* ft_vprintf_other.c :+: :+: :+: */
|
/* ft_va_other.c :+: :+: :+: */
|
||||||
/* +:+ +:+ +:+ */
|
/* +:+ +:+ +:+ */
|
||||||
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/01/20 12:58:03 by gbaconni #+# #+# */
|
/* Created: 2022/01/20 12:58:03 by gbaconni #+# #+# */
|
||||||
/* Updated: 2022/04/24 00:34:40 by gbaconni ### lausanne.ch */
|
/* Updated: 2022/04/29 14:35:25 by gbaconni ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "libftprintf.h"
|
#include "libftprintf.h"
|
||||||
|
|
||||||
int ft_vprintf_other(const char *format, va_list ap)
|
int ft_va_other(const char *format, va_list ap)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
char c;
|
char c;
|
||||||
@@ -1,18 +1,18 @@
|
|||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* */
|
/* */
|
||||||
/* ::: :::::::: */
|
/* ::: :::::::: */
|
||||||
/* ft_vprintf_percent.c :+: :+: :+: */
|
/* ft_va_percent.c :+: :+: :+: */
|
||||||
/* +:+ +:+ +:+ */
|
/* +:+ +:+ +:+ */
|
||||||
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/01/20 11:55:58 by gbaconni #+# #+# */
|
/* Created: 2022/01/20 11:55:58 by gbaconni #+# #+# */
|
||||||
/* Updated: 2022/04/26 15:40:34 by gbaconni ### ########.fr */
|
/* Updated: 2022/04/29 14:35:15 by gbaconni ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "libftprintf.h"
|
#include "libftprintf.h"
|
||||||
|
|
||||||
int ft_vprintf_percent(const char *format, va_list ap)
|
int ft_va_percent(const char *format, va_list ap)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
char c;
|
char c;
|
||||||
@@ -20,16 +20,16 @@ int ft_vprintf_percent(const char *format, va_list ap)
|
|||||||
ret = 0;
|
ret = 0;
|
||||||
c = *(format + ft_eoflags(format));
|
c = *(format + ft_eoflags(format));
|
||||||
if (c == 'c')
|
if (c == 'c')
|
||||||
ret = ft_vprintf_char(format, ap);
|
ret = ft_va_char(format, ap);
|
||||||
else if (c == 's')
|
else if (c == 's')
|
||||||
ret = ft_vprintf_string(format, ap);
|
ret = ft_va_string(format, ap);
|
||||||
else if (c == 'p')
|
else if (c == 'p')
|
||||||
ret = ft_vprintf_pointer(format, ap);
|
ret = ft_va_pointer(format, ap);
|
||||||
else if (c == 'x' || c == 'X')
|
else if (c == 'x' || c == 'X')
|
||||||
ret = ft_vprintf_hexadecimal(format, ap);
|
ret = ft_va_hexadecimal(format, ap);
|
||||||
else if (c == 'd' || c == 'i' || c == 'u')
|
else if (c == 'd' || c == 'i' || c == 'u')
|
||||||
ret = ft_vprintf_decimal(format, ap);
|
ret = ft_va_decimal(format, ap);
|
||||||
else
|
else
|
||||||
ret = ft_vprintf_other(format, ap);
|
ret = ft_va_other(format, ap);
|
||||||
return (ret);
|
return (ret);
|
||||||
}
|
}
|
||||||
@@ -1,18 +1,18 @@
|
|||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* */
|
/* */
|
||||||
/* ::: :::::::: */
|
/* ::: :::::::: */
|
||||||
/* ft_vprintf_pointer.c :+: :+: :+: */
|
/* ft_va_pointer.c :+: :+: :+: */
|
||||||
/* +:+ +:+ +:+ */
|
/* +:+ +:+ +:+ */
|
||||||
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/01/20 11:56:16 by gbaconni #+# #+# */
|
/* Created: 2022/01/20 11:56:16 by gbaconni #+# #+# */
|
||||||
/* Updated: 2022/04/29 10:59:11 by gbaconni ### ########.fr */
|
/* Updated: 2022/04/29 14:33:20 by gbaconni ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "libftprintf.h"
|
#include "libftprintf.h"
|
||||||
|
|
||||||
int ft_vprintf_pointer(const char *format, va_list ap)
|
int ft_va_pointer(const char *format, va_list ap)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
void *p;
|
void *p;
|
||||||
@@ -1,18 +1,18 @@
|
|||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* */
|
/* */
|
||||||
/* ::: :::::::: */
|
/* ::: :::::::: */
|
||||||
/* ft_vprintf_string.c :+: :+: :+: */
|
/* ft_va_precision_bonus.c :+: :+: :+: */
|
||||||
/* +:+ +:+ +:+ */
|
/* +:+ +:+ +:+ */
|
||||||
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/01/20 11:56:37 by gbaconni #+# #+# */
|
/* Created: 2022/01/20 11:56:37 by gbaconni #+# #+# */
|
||||||
/* Updated: 2022/04/29 11:01:29 by gbaconni ### ########.fr */
|
/* Updated: 2022/04/29 14:41:33 by gbaconni ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "libftprintf.h"
|
#include "libftprintf.h"
|
||||||
|
|
||||||
int ft_vprintf_precision_bonus(const char *format, va_list ap)
|
int ft_va_precision_bonus(const char *format, va_list ap)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
const char *f;
|
const char *f;
|
||||||
@@ -1,18 +1,18 @@
|
|||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* */
|
/* */
|
||||||
/* ::: :::::::: */
|
/* ::: :::::::: */
|
||||||
/* ft_vprintf_string.c :+: :+: :+: */
|
/* ft_va_string.c :+: :+: :+: */
|
||||||
/* +:+ +:+ +:+ */
|
/* +:+ +:+ +:+ */
|
||||||
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/01/20 11:56:37 by gbaconni #+# #+# */
|
/* Created: 2022/01/20 11:56:37 by gbaconni #+# #+# */
|
||||||
/* Updated: 2022/04/29 10:52:32 by gbaconni ### ########.fr */
|
/* Updated: 2022/04/29 14:42:58 by gbaconni ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "libftprintf.h"
|
#include "libftprintf.h"
|
||||||
|
|
||||||
int ft_vprintf_string(const char *format, va_list ap)
|
int ft_va_string(const char *format, va_list ap)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
char *s;
|
char *s;
|
||||||
@@ -25,17 +25,7 @@ int ft_vprintf_string(const char *format, va_list ap)
|
|||||||
ret = ft_puts("(null)");
|
ret = ft_puts("(null)");
|
||||||
return (ret);
|
return (ret);
|
||||||
}
|
}
|
||||||
#ifdef BONUS
|
ret += ft_va_string_bonus(format, ap, s);
|
||||||
int precision;
|
|
||||||
int len;
|
|
||||||
precision = ft_vprintf_precision_bonus(format, ap);
|
|
||||||
if (precision > 0)
|
|
||||||
{
|
|
||||||
len = precision - ft_strlen(s);
|
|
||||||
while (len-- > 0)
|
|
||||||
ret += ft_putchar(' ');
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
ret += ft_puts(s);
|
ret += ft_puts(s);
|
||||||
return (ret);
|
return (ret);
|
||||||
}
|
}
|
||||||
@@ -1,35 +1,30 @@
|
|||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* */
|
/* */
|
||||||
/* ::: :::::::: */
|
/* ::: :::::::: */
|
||||||
/* ft_skipchars.c :+: :+: :+: */
|
/* ft_va_string_bonus.c :+: :+: :+: */
|
||||||
/* +:+ +:+ +:+ */
|
/* +:+ +:+ +:+ */
|
||||||
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/04/23 23:49:26 by gbaconni #+# #+# */
|
/* Created: 2022/01/20 11:56:37 by gbaconni #+# #+# */
|
||||||
/* Updated: 2022/04/24 00:00:43 by gbaconni ### lausanne.ch */
|
/* Updated: 2022/04/29 14:41:41 by gbaconni ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "libftprintf.h"
|
#include "libftprintf.h"
|
||||||
|
|
||||||
int ft_skipchars(const char *s, char *chars)
|
int ft_va_string_bonus(const char *format, va_list ap, char *s)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
int i;
|
int precision;
|
||||||
int hits;
|
int len;
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
while (*s != '\0')
|
precision = ft_va_precision_bonus(format, ap);
|
||||||
|
if (precision > 0)
|
||||||
{
|
{
|
||||||
i = 0;
|
len = precision - ft_strlen(s);
|
||||||
hits = 0;
|
while (len-- > 0)
|
||||||
while (chars[i] != '\0')
|
ret += ft_putchar(' ');
|
||||||
hits += (chars[i++] == *s);
|
|
||||||
if (hits > 0)
|
|
||||||
ret++;
|
|
||||||
else
|
|
||||||
break ;
|
|
||||||
s++;
|
|
||||||
}
|
}
|
||||||
return (ret);
|
return (ret);
|
||||||
}
|
}
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/01/20 11:43:52 by gbaconni #+# #+# */
|
/* Created: 2022/01/20 11:43:52 by gbaconni #+# #+# */
|
||||||
/* Updated: 2022/04/29 08:48:39 by gbaconni ### lausanne.ch */
|
/* Updated: 2022/04/29 14:19:39 by gbaconni ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@@ -22,11 +22,11 @@ int ft_vprintf(char const *format, va_list ap)
|
|||||||
if (*format == '%')
|
if (*format == '%')
|
||||||
{
|
{
|
||||||
format++;
|
format++;
|
||||||
ret += ft_vprintf_percent(format, ap);
|
ret += ft_va_percent(format, ap);
|
||||||
format += ft_eoflags(format);
|
format += ft_eoflags(format);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ret += ft_vprintf_other(format, ap);
|
ret += ft_va_other(format, ap);
|
||||||
format++;
|
format++;
|
||||||
}
|
}
|
||||||
return (ret);
|
return (ret);
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/01/18 15:26:06 by gbaconni #+# #+# */
|
/* Created: 2022/01/18 15:26:06 by gbaconni #+# #+# */
|
||||||
/* Updated: 2022/04/29 10:58:37 by gbaconni ### ########.fr */
|
/* Updated: 2022/04/29 14:45:30 by gbaconni ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@@ -32,7 +32,6 @@
|
|||||||
/* Helper */
|
/* Helper */
|
||||||
|
|
||||||
int ft_eoflags(const char *s);
|
int ft_eoflags(const char *s);
|
||||||
int ft_skipchars(const char *s, char *chars);
|
|
||||||
char *ft_strrev(char *s);
|
char *ft_strrev(char *s);
|
||||||
char *ft_ltoa_base(long n, char *base);
|
char *ft_ltoa_base(long n, char *base);
|
||||||
int ft_putchar(int c);
|
int ft_putchar(int c);
|
||||||
@@ -43,16 +42,15 @@ char *ft_unescape(const char *str);
|
|||||||
|
|
||||||
int ft_printf(const char *format, ...);
|
int ft_printf(const char *format, ...);
|
||||||
int ft_vprintf(char const *format, va_list ap);
|
int ft_vprintf(char const *format, va_list ap);
|
||||||
int ft_vprintf_char(const char *format, va_list ap);
|
int ft_va_char(const char *format, va_list ap);
|
||||||
int ft_vprintf_string(const char *format, va_list ap);
|
int ft_va_string(const char *format, va_list ap);
|
||||||
int ft_vprintf_pointer(const char *format, va_list ap);
|
int ft_va_pointer(const char *format, va_list ap);
|
||||||
int ft_vprintf_decimal(const char *format, va_list ap);
|
int ft_va_decimal(const char *format, va_list ap);
|
||||||
int ft_vprintf_hexadecimal(const char *format, va_list ap);
|
int ft_va_hexadecimal(const char *format, va_list ap);
|
||||||
int ft_vprintf_percent(const char *format, va_list ap);
|
int ft_va_percent(const char *format, va_list ap);
|
||||||
int ft_vprintf_escape(const char *format, va_list ap);
|
int ft_va_escape(const char *format, va_list ap);
|
||||||
int ft_vprintf_other(const char *format, va_list ap);
|
int ft_va_other(const char *format, va_list ap);
|
||||||
|
|
||||||
# ifdef BONUS
|
|
||||||
/* Bonus */
|
/* Bonus */
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
@@ -63,8 +61,10 @@ enum {
|
|||||||
F_PLUS = 1 << 4
|
F_PLUS = 1 << 4
|
||||||
};
|
};
|
||||||
|
|
||||||
int ft_vprintf_precision_bonus(const char *format, va_list ap);
|
int ft_va_precision_bonus(const char *format, va_list ap);
|
||||||
int ft_vprintf_flags_bonus(const char *format, va_list ap);
|
int ft_va_flags_bonus(const char *format, va_list ap);
|
||||||
|
int ft_va_string_bonus(const char *format, va_list ap, char *s);
|
||||||
|
int ft_va_decimal_bonus(const char *format, va_list ap, char *s);
|
||||||
|
int ft_va_hexadecimal_bonus(const char *format, va_list ap, char *s);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|||||||
24
main.c
24
main.c
@@ -6,7 +6,7 @@
|
|||||||
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/04/13 06:58:46 by gbaconni #+# #+# */
|
/* Created: 2022/04/13 06:58:46 by gbaconni #+# #+# */
|
||||||
/* Updated: 2022/04/29 08:23:07 by gbaconni ### lausanne.ch */
|
/* Updated: 2022/04/29 15:14:41 by gbaconni ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@@ -17,6 +17,28 @@
|
|||||||
|
|
||||||
#include "libftprintf/libftprintf.h"
|
#include "libftprintf/libftprintf.h"
|
||||||
|
|
||||||
|
int ft_skipchars(const char *s, char *chars)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
int i;
|
||||||
|
int hits;
|
||||||
|
|
||||||
|
ret = 0;
|
||||||
|
while (*s != '\0')
|
||||||
|
{
|
||||||
|
i = 0;
|
||||||
|
hits = 0;
|
||||||
|
while (chars[i] != '\0')
|
||||||
|
hits += (chars[i++] == *s);
|
||||||
|
if (hits > 0)
|
||||||
|
ret++;
|
||||||
|
else
|
||||||
|
break ;
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
return (ret);
|
||||||
|
}
|
||||||
|
|
||||||
char *ft_fmtsplit(char **fmt)
|
char *ft_fmtsplit(char **fmt)
|
||||||
{
|
{
|
||||||
char *format;
|
char *format;
|
||||||
|
|||||||
Reference in New Issue
Block a user