--- tests/parallel.cpp.orig	2013-09-18 16:31:08.000000000 +0200
+++ tests/parallel.cpp	2013-09-18 16:55:25.000000000 +0200
@@ -146,6 +145,7 @@
   FXuint njobs=0;
   FXuint test=2;
   FXuint wait=0;
+  char *endptr;
 
   // Grab a few arguments
   for(FXint arg=1; arg<argc; ++arg){
@@ -155,18 +155,18 @@
       }
     else if(strcmp(argv[arg],"--threads")==0){
       if(++arg>=argc){ fxmessage("Missing threads number argument.\n"); exit(1); }
-      nthreads=strtoul(argv[arg],NULL,0);
-      if(nthreads<0){ fxmessage("Value for threads (%d) too small.\n",nthreads); exit(1); }
+      nthreads=strtoul(argv[arg],&endptr,0);
+      if(*endptr!='\0'){ fxmessage("Value for threads (%d) too small.\n",nthreads); exit(1); }
       }
     else if(strcmp(argv[arg],"--minimum")==0){
       if(++arg>=argc){ fxmessage("Missing threads number argument.\n"); exit(1); }
-      minimum=strtoul(argv[arg],NULL,0);
-      if(minimum<0){ fxmessage("Value for minimum number of threads (%d) too small.\n",minimum); exit(1); }
+      minimum=strtoul(argv[arg],&endptr,0);
+      if(*endptr!='\0'){ fxmessage("Value for minimum number of threads (%d) too small.\n",minimum); exit(1); }
       }
     else if(strcmp(argv[arg],"--maximum")==0){
       if(++arg>=argc){ fxmessage("Missing threads number argument.\n"); exit(1); }
-      maximum=strtoul(argv[arg],NULL,0);
-      if(maximum<0){ fxmessage("Value for maximum number of threads (%d) too small.\n",minimum); exit(1); }
+      maximum=strtoul(argv[arg],&endptr,0);
+      if(*endptr!='\0'){ fxmessage("Value for maximum number of threads (%d) too small.\n",minimum); exit(1); }
       }
     else if(strcmp(argv[arg],"--size")==0){
       if(++arg>=argc){ fxmessage("Missing size argument.\n"); exit(1); }
@@ -176,8 +176,8 @@
       }
     else if(strcmp(argv[arg],"--jobs")==0){
       if(++arg>=argc){ fxmessage("Missing jobs count argument.\n"); exit(1); }
-      njobs=strtoul(argv[arg],NULL,0);
-      if(njobs<0){ fxmessage("Value for njobs (%d) too small.\n",njobs); exit(1); }
+      njobs=strtoul(argv[arg],&endptr,0);
+      if(*endptr!='\0'){ fxmessage("Value for njobs (%d) too small.\n",njobs); exit(1); }
       }
     else if(strcmp(argv[arg],"-W")==0 || strcmp(argv[arg],"--wait")==0){
       wait=1;
