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();