aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Cabergs <me@cacharle.xyz>2020-09-14 16:42:37 +0200
committerCharles Cabergs <me@cacharle.xyz>2020-09-14 16:42:37 +0200
commit5a789d2a3f720506dc5d60f522cee52724046b91 (patch)
tree9535812b6954ba80fbc8110c2e82e4637e59ec8b
parent948ac90c7b32fd06d939db41fdab848fd0a9abbe (diff)
downloadminishell-5a789d2a3f720506dc5d60f522cee52724046b91.tar.gz
minishell-5a789d2a3f720506dc5d60f522cee52724046b91.tar.bz2
minishell-5a789d2a3f720506dc5d60f522cee52724046b91.zip
Added %c format for errorf
-rw-r--r--src/error.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/error.c b/src/error.c
index 2e56117..7da14d5 100644
--- a/src/error.c
+++ b/src/error.c
@@ -6,14 +6,14 @@
/* By: charles <charles@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/06/14 11:02:52 by charles #+# #+# */
-/* Updated: 2020/09/10 20:29:41 by charles ### ########.fr */
+/* Updated: 2020/09/14 16:42:01 by charles ### ########.fr */
/* */
/* ************************************************************************** */
#include "eval.h"
/*
-** \brief printf like function that only works with `%s`,
+** \brief printf like function that only works with `%s` and `%c`,
** prefix the message with the program name
** and output on STDERR
** \note NULL arguments are ignored
@@ -34,7 +34,8 @@ void errorf(const char *format, ...)
void verrorf(const char *format, va_list ap)
{
- char *arg;
+ char *str;
+ char c;
ft_putstr_fd(g_basename, STDERR_FILENO);
ft_putstr_fd(": ", STDERR_FILENO);
@@ -42,8 +43,14 @@ void verrorf(const char *format, va_list ap)
{
if (format[0] == '%' && format[1] == 's')
{
- arg = va_arg(ap, char*);
- ft_putstr_fd(arg, STDERR_FILENO);
+ str = va_arg(ap, char*);
+ ft_putstr_fd(str, STDERR_FILENO);
+ format += 2;
+ }
+ else if (format[0] == '%' && format[1] == 'c')
+ {
+ c = va_arg(ap, int);
+ ft_putchar_fd(c, STDERR_FILENO);
format += 2;
}
else