From 297cf9c4a51fbecad567efedee5b0e9e0b779695 Mon Sep 17 00:00:00 2001 From: LinlyBoi Date: Tue, 22 Aug 2023 14:25:46 +0300 Subject: [PATCH] printed? --- main.h | 3 ++- printf.c | 6 ++++-- puts.c | 17 ++++++++++++++--- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/main.h b/main.h index ab2c9b1..ce36133 100644 --- a/main.h +++ b/main.h @@ -5,7 +5,8 @@ int _contains(const char *str, char c); int _strlen(const char *str); char *_strcpy(char *dest, char *src); char *append(char *str, char c); -void _puts(char *str); +int _puts(char *str); +int _putchar(char c); char* _memset(char *str, int bval); #endif diff --git a/printf.c b/printf.c index a9defcb..a99b25a 100644 --- a/printf.c +++ b/printf.c @@ -11,7 +11,7 @@ int _printf(const char *format, ...) { int buff_idx, fmt_idx; - unsigned int identifiers, BUFF_SIZE; + unsigned int identifiers, BUFF_SIZE, printed; char *buffer, *next, c; va_list args; @@ -26,6 +26,7 @@ int _printf(const char *format, ...) buff_idx = 0; fmt_idx = 0; + printed = 0; while (*(format + fmt_idx)) { if ((*(format + fmt_idx) == '%') && (*(format + fmt_idx + 1))) @@ -68,5 +69,6 @@ int _printf(const char *format, ...) _puts(buffer); free(buffer); } - return (_strlen(buffer)); + _putchar('\0'); + return (printed); } diff --git a/puts.c b/puts.c index 5e324fb..acb5018 100644 --- a/puts.c +++ b/puts.c @@ -6,10 +6,21 @@ * * @str: pointers to "buffer" or string head * - * Return: Naught + * Return: written bytes */ -void _puts(char *str) +int _puts(char *str) { - write(1, str, _strlen(str)); + return (write(1, str, _strlen(str))); +} +/** + * _putchar - writes the character c to stdout + * @c: The character to print + * + * Return: On success 1. + * On error, -1 is returned, and errno is set appropriately. + */ +int _putchar(char c) +{ + return (write(1, &c, 1)); }