void *evalUnique(void *vptr_value) { int start; char *wordArray; NameSet *p = (NameSet *)vptr_value; start = myNameSet->start; while(start < end) { string word = p.at(start); word = substr(0,word.find(' ')); int wordLength = (int)word.length(); int origLength = (int)word.length(); int containsDupe = 0; wordArray = new char [wordLength+1]; strcpy (wordArray, word.c_str()); for(int x=0;x<wordLength;x++) { for(int j=0;j<wordLength;j++) { if(x==j) { continue; } else if(* (wordArray+x)==*(wordArray+j)) { k=j; wordLength--; containsDupe=1; while(k < wordLength) { *(wordArray+k)=*(wordArray+k+1); k++; } j=0; } } } if(containsDupe == 0) { uniqCount++; } if(containsDupe == 0 && origLength >= 6) { //outputFile << "Line: " << lineNumber << " Word: " << word << " Dupe: " << containsDupe << " Unique: " << wordLength << endl; //outputFile << word << endl; uniqCounterArray[lineNumber] = wordLength; } //printf("word read is: %s Dupe: %d Size: %d\n", word, containsDupe,origLength); //strcpy(word,""); delete[] wordArray; start++; } }