+/*-----------------------------------------------------------------*/
+/* appendDumpFile - if not already created, create the dump file */
+/*-----------------------------------------------------------------*/
+FILE *appendDumpFile (int id) {
+ struct _dumpFiles *dumpFilesPtr=dumpFiles;
+
+ while (dumpFilesPtr->id) {
+ if (dumpFilesPtr->id==id)
+ break;
+ dumpFilesPtr++;
+ }
+
+ if (!dumpFilesPtr->id) {
+ fprintf (stdout, "internal error: appendDumpFile: unknown dump file.\n");
+ exit (1);
+ }
+
+ if (!dumpFilesPtr->filePtr) {
+ // not used before, create it
+ strcpy (buffer, srcFileName);
+ strcat (buffer, dumpFilesPtr->ext);
+ if (!(dumpFilesPtr->filePtr = fopen (buffer, "w"))) {
+ werror (E_FILE_OPEN_ERR, buffer);
+ exit (1);
+ }
+ //dprintf ("created: %s\n", buffer);
+ } else {
+ //dprintf ("appended: %s%s\n", srcFileName, dumpFilesPtr->ext);
+ }
+ return dumpFilesPtr->filePtr;
+}
+
+/*-----------------------------------------------------------------*/
+/* closeDumpFiles - close possible opened dumpfiles */
+/*-----------------------------------------------------------------*/
+void closeDumpFiles() {
+ struct _dumpFiles *dumpFilesPtr;
+
+ for (dumpFilesPtr=dumpFiles; dumpFilesPtr->id; dumpFilesPtr++) {
+ if (dumpFilesPtr->filePtr) {
+ fclose (dumpFilesPtr->filePtr);
+ //dprintf ("closed %s\n", dumpFilesPtr->ext);
+ }
+ }
+}
+