aboutsummaryrefslogtreecommitdiff
path: root/src/args.c
diff options
context:
space:
mode:
authorCharles Cabergs <me@cacharle.xyz>2020-08-02 14:19:36 +0200
committerCharles Cabergs <me@cacharle.xyz>2020-08-02 14:19:36 +0200
commitc7ae1f028446165a1f9f4ab6a4bb63f8239c43b0 (patch)
tree242defc35d19ad7a8cc0c5d379c6b60a1fb6d4a7 /src/args.c
parent820d554d5fd75cf5d2ec8e2a10403972c78d55ba (diff)
downloadft_ssl-c7ae1f028446165a1f9f4ab6a4bb63f8239c43b0.tar.gz
ft_ssl-c7ae1f028446165a1f9f4ab6a4bb63f8239c43b0.tar.bz2
ft_ssl-c7ae1f028446165a1f9f4ab6a4bb63f8239c43b0.zip
Compression state reset, Error message
Diffstat (limited to 'src/args.c')
-rw-r--r--src/args.c27
1 files changed, 21 insertions, 6 deletions
diff --git a/src/args.c b/src/args.c
index 41e9e9f..0be7f86 100644
--- a/src/args.c
+++ b/src/args.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/02/22 09:43:42 by cacharle #+# #+# */
-/* Updated: 2020/08/02 11:58:47 by charles ### ########.fr */
+/* Updated: 2020/08/02 14:17:15 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -26,7 +26,7 @@ static void st_print_digest(t_flags flags, char *command, char *input, char *dig
if (!(flags & FLAG_REVERSE) && !(flags & FLAG_QUIET))
{
ft_putstr(command); //toupper
- ft_putchar('(');
+ ft_putstr(" (");
st_print_digest_input(flags, input);
ft_putstr(") = ");
}
@@ -62,11 +62,12 @@ int parse_args(int argc, char **argv, char *command, t_message_digest_param *md
{
i++;
if (i >= argc) // no string
- return 1;
+ return (1);
digest_str = message_digest(md_param, (uint8_t*)argv[i], ft_strlen(argv[i]));
if (digest_str == NULL)
- return 1;
+ return (1);
st_print_digest(flags | FLAG_STRING, command, argv[i], digest_str);
+ free(digest_str);
}
else if (ft_strcmp(argv[i], "-p") == 0)
{
@@ -74,7 +75,7 @@ int parse_args(int argc, char **argv, char *command, t_message_digest_param *md
return (1);
digest_str = message_digest(md_param, file.data, file.size);
if (digest_str == NULL)
- return 1;
+ return (1);
write(STDOUT_FILENO, file.data, file.size);
ft_putendl(digest_str);
}
@@ -83,17 +84,31 @@ int parse_args(int argc, char **argv, char *command, t_message_digest_param *md
else if (ft_strcmp(argv[i], "-r") == 0)
flags |= FLAG_REVERSE;
else
+ {
+ ft_putstr_fd("ft_ssl: invalid option -- '", STDERR_FILENO);
+ ft_putstr_fd(argv[i] + 1, STDERR_FILENO);
+ ft_putstr_fd("'\n", STDERR_FILENO);
return (1);
+ }
i++;
}
while (i < argc)
{
if (ft_getfile(argv[i], &file) < 0)
- return (1);
+ {
+ ft_putstr_fd("ft_ssl: ", STDERR_FILENO);
+ ft_putstr_fd(argv[i], STDERR_FILENO);
+ ft_putstr_fd(": ", STDERR_FILENO);
+ ft_putstr_fd(strerror(errno), STDERR_FILENO);
+ ft_putstr_fd("\n", STDERR_FILENO);
+ i++;
+ continue ;
+ }
digest_str = message_digest(md_param, file.data, file.size);
if (digest_str == NULL)
return 1;
st_print_digest(flags, command, argv[i], digest_str);
+ free(digest_str);
free(file.data);
i++;
}