From: Bart Van Assche Date: Wed, 12 Mar 2008 16:48:07 +0000 (+0000) Subject: Replaced positional command line arguments by command options. X-Git-Tag: svn/VALGRIND_3_4_0~899 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ee47e81f9cbca646f595c3aef7ae5af6239512f7;p=thirdparty%2Fvalgrind.git Replaced positional command line arguments by command options. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7650 --- diff --git a/exp-drd/tests/omp_prime.c b/exp-drd/tests/omp_prime.c index 5fd7804d8e..69a7c79a7d 100644 --- a/exp-drd/tests/omp_prime.c +++ b/exp-drd/tests/omp_prime.c @@ -9,6 +9,7 @@ #include #include #include +#include // getopt() #include "../drd_clientreq.h" @@ -35,11 +36,31 @@ int main(int argc, char **argv) { int i; int total = 0; - const int n = argc > 1 ? atoi(argv[1]) : 300; - const int num_threads = argc > 2 ? atoi(argv[2]) : 4; + int silent = 0; + int n; + int num_threads = 2; + int optchar; int* primes; int* pflag; + while ((optchar = getopt(argc, argv, "qt:")) != EOF) + { + switch (optchar) + { + case 'q': silent = 1; break; + case 't': num_threads = atoi(optarg); break; + default: + fprintf(stderr, "Error: unknown option '%c'.\n", optchar); + return 1; + } + } + + if (optind + 1 != argc) + { + fprintf(stderr, "Error: wrong number of arguments.\n"); + } + n = atoi(argv[optind]); + // Not the most user-friendly way to do error checking, but better than // nothing. assert(n > 2); @@ -51,14 +72,6 @@ int main(int argc, char **argv) omp_set_num_threads(num_threads); omp_set_dynamic(0); -#if 1 - { - int res; - VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__DRD_TRACE_ADDR, - &total, 0, 0, 0, 0); - } -#endif - for (i = 0; i < n; i++) { pflag[i] = 1; } @@ -72,11 +85,14 @@ int main(int argc, char **argv) total++; } } - printf("Number of prime numbers between 2 and %d: %d\n", - n, total); - for (i = 0; i < total; i++) + if (! silent) { - printf("%d\n", primes[i]); + printf("Number of prime numbers between 2 and %d: %d\n", + n, total); + for (i = 0; i < total; i++) + { + printf("%d\n", primes[i]); + } } free(pflag);