Index: src/file.c =================================================================== --- src/file.c (revision 1255) +++ src/file.c (revision 1256) @@ -509,12 +509,17 @@ /* --------------------------------------------------------------------------- * writes the quoted string created by another subroutine */ +static DynamicStringType pqs_ds; static void PrintQuotedString(FILE * FP, char *S) { - static DynamicStringType ds; + CreateQuotedString(&pqs_ds, S); + fputs(pqs_ds.Data, FP); +} - CreateQuotedString(&ds, S); - fputs(ds.Data, FP); +void file_uninit() +{ + if (pqs_ds.Data != NULL) + free(pqs_ds.Data); } /* --------------------------------------------------------------------------- Index: src/file.h =================================================================== --- src/file.h (revision 1255) +++ src/file.h (revision 1256) @@ -74,4 +74,6 @@ #endif #endif +void file_uninit(); + #endif Index: src/main.c =================================================================== --- src/main.c (revision 1255) +++ src/main.c (revision 1256) @@ -1602,6 +1602,7 @@ FreeLibraryMemory(&Library); pcb_fp_uninit(); + file_uninit(); #define free0(ptr) \ do { \