#include #include #include #include #include #include #include #include #define USAGE usage(argv[0]) void usage (char * p) { fprintf (stderr, "usage: %s file count\n", p); exit (1); } int main (int argc, char ** argv) { int i, k, count, fd, ret, reccount; char ch; char buf[100]; struct stat statbuf; if (argc != 3) USAGE; if (sscanf (argv[2], "%d%c", &count, &ch) != 1) USAGE; if (count < 1 || count > 10) USAGE; ret = stat (argv[1], &statbuf); if (ret < 0) { perror ("stat"); exit (1); } reccount = 1+statbuf.st_size / (2*sizeof (int)*count); for (i=0; i= 0 && b>= 0); while (a && b) { if (a > b) { a %= b; } else { b %= a; } } /* GGT is a+b */ sprintf (buf, "ggt(%d,%d)=%d %ld\n", ints[0], ints[1], a+b, getpid()); ret = write (1, buf, strlen (buf)); if (ret < 0) { perror ("write"); exit (1); } /* Make sure we wrote everything. */ assert (ret == strlen (buf)); } close (fd); return 0; }