static TermEntry* mergeFirst(TermEntry** termEntries, unsigned int nbFiles, FILE** openFiles) { int nbElected = 0; int* indexes = electedEntries(termEntries, nbFiles, &nbElected); if (!nbElected) { pFree(indexes, nbElected * sizeof(int)); indexes = NULL; return NULL; // Finished } TermEntry* merged = NULL; if (!initTerm(&merged, termEntries[indexes[0]]->token)) return NULL; for (int i = 0; i < nbElected; ++i) { if (!merge(merged, termEntries[indexes[i]])) { pFreeTerm(termEntries[indexes[i]]); termEntries[indexes[i]] = NULL; pFree(indexes, nbElected * sizeof(int)); indexes = NULL; return NULL; } pFreeTerm(termEntries[indexes[i]]); termEntries[indexes[i]] = NULL; termEntries[indexes[i]] = readTermEntry(openFiles[indexes[i]]); } pFree(indexes, nbElected * sizeof(int)); indexes = NULL; return merged; }
int main() { char c; initTerm(); while ( (c=getCharInBuff())!='a' ) { //printf("Loop"); printf("%c", c); } resetTerm(); }
void createTerm (Term * t , char * w) { initTerm (t) ; t->word = strdup(w) ; }