main.c 752 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #include <time.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include "rubiks.h"
  6. int generate(char **params, char *av0)
  7. {
  8. t_params p;
  9. FILE *f;
  10. int i;
  11. srand(time(NULL));
  12. if (!parse_params(params, &p, av0))
  13. {
  14. xfree(p.output);
  15. return -1;
  16. }
  17. if (p.output == NULL)
  18. f = stdout;
  19. else if ((f = fopen(p.output, "a+")) == NULL)
  20. {
  21. fprintf(stderr, "Cannot open %s for writting\n", p.output);
  22. free(p.output);
  23. return -1;
  24. }
  25. for (i=0; i < p.count; i++)
  26. doGenerate(&p, f);
  27. xfree(p.output);
  28. return 0;
  29. }
  30. int main(int ac, char **av)
  31. {
  32. (void) ac;
  33. if (av[1] && (!strcmp(av[1], "generate") || !strcmp(av[1], "gen")))
  34. return generate(&av[2], av[0]);
  35. fprintf(stderr, "Expected valid action\n");
  36. usage(av[0]);
  37. return -1;
  38. }