ft_ls/src/flags.c
2024-12-16 19:28:40 +01:00

35 lines
1 KiB
C

flags_t *get_flags(char **argv) {
flags_t *flags = ft_calloc(1, sizeof(flags_t));
if (flags == nullptr)
return nullptr;
flags->t = 0;
flags->error[0] = -1;
for (int i = 1; argv[i] != NULL; i++)
if (argv[i][0] == '-')
for (int j = 1; argv[i][j] != '\0'; j++) {
if (argv[i][j] == 'l')
flags->l = 1;
else if (argv[i][j] == 'a')
flags->a = 1;
else if (argv[i][j] == 'R')
flags->R = 1;
else if (argv[i][j] == 'r')
flags->r = 1;
else if (argv[i][j] == 't')
flags->t = 1;
else {
flags->error[0] = i;
flags->error[1] = j;
return flags;
}
}
return flags;
}
void display_flags(flags_t flags) {
ft_printf("l: %d; a: %d; R: %d; r: %d; t: %d\n",
flags.l, flags.a, flags.R, flags.r, flags.t);
}