test/TestUtils.cpp
changeset 8 21a6c17f4e3e
parent 0 31a43d94cc26
child 9 629f61203db1
     1.1 --- a/test/TestUtils.cpp	Sun Sep 20 15:14:12 2009 -0700
     1.2 +++ b/test/TestUtils.cpp	Mon Sep 28 23:39:08 2009 -0700
     1.3 @@ -11,6 +11,7 @@
     1.4  #include "File.h"
     1.5  #include <time.h>
     1.6  #include <sys/time.h>
     1.7 +#include <stdio.h>
     1.8  
     1.9  namespace Mooseyard {
    1.10  
    1.11 @@ -24,7 +25,9 @@
    1.12      
    1.13      void shuffle(int a[], int n, unsigned seed) {
    1.14          if (seed==0) {
    1.15 +#ifdef BSD
    1.16              srandomdev();
    1.17 +#endif
    1.18              seed = random();
    1.19          }
    1.20          fprintf(stderr,"shuffle(n=%i, seed=%u)\n", n,seed);
    1.21 @@ -46,15 +49,18 @@
    1.22              sNWords = 0;
    1.23              
    1.24              FILE *in = fopen("/usr/share/dict/words", "r");
    1.25 -            const char *word;
    1.26 +            char word[4096];
    1.27              size_t wordLen;
    1.28 -            while (NULL != (word=fgetln(in,&wordLen))) {
    1.29 -                if (word[wordLen-1]=='\n')
    1.30 -                    wordLen--;
    1.31 -                char *str = new char[wordLen+1];
    1.32 -                memcpy(str, word, wordLen);
    1.33 -                str[wordLen] = 0;
    1.34 -                sWords[sNWords] = str;
    1.35 +            while (NULL != ::fgets(word, 4096, in)) {
    1.36 +                wordLen = ::strlen(word);
    1.37 +                if (word[wordLen-1]=='\n') {
    1.38 +		  word[wordLen-1] = '\0';
    1.39 +		  wordLen--;
    1.40 +		}
    1.41 +
    1.42 +                if (wordLen == 0) continue;
    1.43 +
    1.44 +                sWords[sNWords] = strdup(word); 
    1.45                  //if( sNWords % 10000 == 0)
    1.46                  //    printf("'%s' ... ", sWords[sNWords]->string());
    1.47                  sNWords++;
    1.48 @@ -93,7 +99,9 @@
    1.49  using namespace Mooseyard;
    1.50  
    1.51  int main(int argc, char **argv) {
    1.52 +#if BSD
    1.53      srandomdev();
    1.54 +#endif
    1.55      try {
    1.56          ::testing::InitGoogleTest(&argc, argv);
    1.57          return RUN_ALL_TESTS();