}
}
-void printLineData(lineData lineData){
+int printLineData(lineData lineData){
for(int i = 0; i < lineData.occurrences; i++){
printf("\t\t-At position %d\n", lineData.positionList[i]);
}
+ return lineData.occurrences;
}
-void printData(Data data){
+int printData(Data data){
+ int count = 0;
printf("Found \"%s\" in %d line%s:\n", data.name, data.lines, (data.lines>1)?"s":"");
for(int i = 0; i < data.lines; i++){
printf("\t-At line %d:\n", data.lineList[i].lineNumber);
- printLineData(data.lineList[i]);
+ count += printLineData(data.lineList[i]);
}
+ return count;
}
-void printNodes(dataHead head){
+int printNodes(dataHead head){
+ int count = 0;
dataNode *node = head;
while(node){
- printData(*node->data);
+ count += printData(*node->data);
node = node->next;
}
free(node);
+ return count;
}
size_t getLineCount(FILE *fp){
char *docName = argv[1], *listName = argv[2];
FILE *document = fopen(docName, "r"), *list = fopen(listName, "r");
- if(!document) printf("Error: \"%s\" not found\n", document);
- if(!list) printf("Error: \"%s\" not found\n", list);
+ if(!document) printf("Error: \"%s\" not found\n", docName);
+ if(!list) printf("Error: \"%s\" not found\n", listName);
if(!document || !list){
return 0;
}
addNode(&head, data);
}
}
- printNodes(head);
+ printf("\n%d total occurrences found\n", printNodes(head));
free(head);
free(fdocument);