Add the bare bones of parsing.
authorLukas Jiriste <ljiriste@student.42prague.com>
Wed, 10 Apr 2024 10:20:50 +0000 (12:20 +0200)
committerLukas Jiriste <ljiriste@student.42prague.com>
Wed, 10 Apr 2024 10:20:50 +0000 (12:20 +0200)
main.c

diff --git a/main.c b/main.c
index 82a4fae938adfe392a26347acffa89d409931dee..f4dad73dfff97f5604178a45909858015fafd30f 100644 (file)
--- a/main.c
+++ b/main.c
@@ -6,7 +6,7 @@
 /*   By: ljiriste <marvin@42.fr>                    +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2023/10/27 14:29:26 by ljiriste          #+#    #+#             */
-/*   Updated: 2024/01/19 13:58:45 by ljiriste         ###   ########.fr       */
+/*   Updated: 2024/04/10 12:07:49 by ljiriste         ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -221,10 +221,8 @@ void       init_session(t_session *s)
        s->img.undersample = s->img.undersample_max;
 }
 
-void   parse_args(int argc, char **argv, t_session *s)
+void   set_default(t_session *s)
 {
-       if (argc == 0)
-               free(argv);
        s->set.man.detail = 1000;
        s->set.man.color_stability = 100;
        s->img.width = 1000;
@@ -233,6 +231,32 @@ void       parse_args(int argc, char **argv, t_session *s)
        return ;
 }
 
+int    process_arg(__attribute((unused)) char *arg, __attribute((unused)) t_session *s)
+{
+       return (0);
+}
+
+int    parse_args(int argc, char **argv, t_session *s)
+{
+       int     i;
+
+       set_default(s);
+       i = 1;
+       while (i < argc)
+       {
+               if (process_arg(argv[i], s))
+                       return (1);
+               ++i;
+       }
+       return (0);
+}
+
+void   print_help(void)
+{
+       ft_printf("Help to be implemented.\n");
+       return ;
+}
+
 void   cleanup(t_session *s)
 {
        ft_mat_free(&s->img.calced, NULL);
@@ -244,7 +268,11 @@ int        main(int argc, char **argv)
 {
        t_session       s;
 
-       parse_args(argc, argv, &s);
+       if (parse_args(argc, argv, &s))
+       {
+               print_help();
+               return (1);
+       }
        init_session(&s);
        mlx_hook(s.win, KeyPress, KeyPressMask, handle_key_press, &s);
        mlx_hook(s.win, ButtonPress, ButtonPressMask, handle_mouse_press, &s);