add -? arg support

This commit is contained in:
2025-08-18 15:51:26 +02:00
parent 01c4d7cc51
commit 853f7ef2c3
2 changed files with 22 additions and 13 deletions

View File

@ -6,7 +6,7 @@
/* By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/26 17:01:53 by tomoron #+# #+# */
/* Updated: 2025/08/15 02:16:12 by tomoron ### ########.fr */
/* Updated: 2025/08/18 15:50:29 by tomoron ### ########.fr */
/* */
/* ************************************************************************** */
#include "includes/ft_ping.h"
@ -52,9 +52,9 @@ double get_set_float(char *arg, t_settings *set)
int check_values(t_settings *set, char *name)
{
if(set->setTtl)
if (set->setTtl)
{
if(set->ttl == 0)
if (set->ttl == 0)
{
fprintf(stderr, "%s: option value too small: %d\n", name, set->ttl);
return(0);
@ -65,17 +65,18 @@ int check_values(t_settings *set, char *name)
return(0);
}
}
if(set->interval < 0.2)
if (set->interval < 0.2)
{
fprintf(stderr, "%s: option value is too small: %g\n", name, set->interval);
return(0);
}
return(1);
return (1);
}
void init_settings(t_settings *set)
{
char *tmp;
tmp = set->name;
bzero(set, sizeof(t_settings));
set->name = tmp;
@ -100,7 +101,15 @@ int parse_args(int argc, char **argv, t_settings *set)
{0, 0, 0, 0}
};
for(int i = 1; i < argc; i++)
{
if(!strcmp(argv[i], "-?"))
{
show_help(set);
return (1);
}
}
unsetenv("POSIXLY_CORRECT");
init_settings(set);
arg = 0;
@ -126,26 +135,26 @@ int parse_args(int argc, char **argv, t_settings *set)
case 'h':
case '?':
show_help(set);
return(1);
return (1);
default :
break;
break ;
}
}
while(optind < argc)
while (optind < argc)
{
if(!add_host(set, argv[optind]))
if (!add_host(set, argv[optind]))
{
set->err = 1;
return (0);
}
optind++;
}
if(!set->hosts)
if (!set->hosts)
{
fprintf(stderr, "%s: missing host operand\n", set->name);
set->err = 1;
return(1);
return (1);
}
if (!set->err)
set->err = !check_values(set, argv[0]);