main.c 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /* ************************************************************************** */
  2. /* */
  3. /* ::: :::::::: */
  4. /* main.c :+: :+: :+: */
  5. /* +:+ +:+ +:+ */
  6. /* By: bchanot <bchanot@students.42.fr> +#+ +:+ +#+ */
  7. /* +#+#+#+#+#+ +#+ */
  8. /* Created: 2016/11/02 07:13:20 by bchanot #+# #+# */
  9. /* Updated: 2016/11/14 11:10:31 by bchanot ### ########.fr */
  10. /* */
  11. /* ************************************************************************** */
  12. #include "ft_select.h"
  13. static void sl_display_selected(t_inf inf)
  14. {
  15. int cpt;
  16. int end;
  17. int checker;
  18. cpt = 0;
  19. while (cpt < inf.nb)
  20. {
  21. checker = cpt + 1;
  22. while (checker < inf.nb)
  23. {
  24. if (inf.selected[checker])
  25. break ;
  26. checker++;
  27. }
  28. end = checker == inf.nb ? 0 : 1;
  29. if (inf.selected[cpt])
  30. {
  31. ft_putstr(inf.args[cpt]);
  32. if (end)
  33. ft_putchar(' ');
  34. }
  35. cpt++;
  36. }
  37. }
  38. int main(int ac, char **av)
  39. {
  40. t_inf inf;
  41. if (ac < 2)
  42. ft_exit_err("ft_select: Usage: ft_select [arguments]");
  43. sl_init_inf(ac, av, &inf);
  44. sl_set_inf(&inf);
  45. sl_set_signal();
  46. if (sl_launch_loop(&inf))
  47. sl_display_selected(inf);
  48. ft_memdel2((void ***)&inf.args);
  49. ft_memdel((void **)&inf.selected);
  50. return (0);
  51. }