| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #include <time.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <unistd.h>
- #include "rubiks.h"
- int generate(char **params, char *av0)
- {
- t_params p;
- FILE *f;
- int i;
- srand(time(NULL) * getpid());
- if (!parse_params(params, &p, av0))
- {
- xfree(p.output);
- return -1;
- }
- if (p.output == NULL)
- f = stdout;
- else if ((f = fopen(p.output, "a+")) == NULL)
- {
- fprintf(stderr, "Cannot open %s for writting\n", p.output);
- free(p.output);
- return -1;
- }
- for (i=0; i < p.count; i++)
- {
- t_rubiks *r = doGenerate(&p);
- rubik_output(r, f);
- fprintf(f, "\n");
- free(r);
- }
- xfree(p.output);
- return 0;
- }
- int main(int ac, char **av)
- {
- (void) ac;
- if (av[1] && (!strcmp(av[1], "generate") || !strcmp(av[1], "gen")))
- return generate(&av[2], av[0]);
- fprintf(stderr, "Expected valid action\n");
- usage(av[0]);
- return -1;
- }
|