35 lines
1 KiB
C
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);
|
|
}
|