compiledict.c: change 'temp' to "${dict}temp" temporary file

This way we can compile multiple dictionaries at a time without
stepping on 'temp' file from different compilation steps:

    $ make -j8 -B
    ...
    make[1]: *** [Makefile:3082: espeak-ng-data/an_dict] Segmentation fault (core dumped)
    make[1]: *** Deleting file 'espeak-ng-data/an_dict'
    make[1]: *** [Makefile:3082: espeak-ng-data/az_dict] Segmentation fault (core dumped)
    make[1]: *** Deleting file 'espeak-ng-data/az_dict'
This commit is contained in:
Sergei Trofimovich
2021-11-07 12:55:57 +00:00
parent 569e1e9a6a
commit ccb1c31ba3
+3 -1
View File
@@ -1558,7 +1558,9 @@ ESPEAK_NG_API espeak_ng_STATUS espeak_ng_CompileDictionary(const char *dsource,
fclose(f_in);
return create_file_error_context(context, error, fname_out);
}
sprintf(fname_temp, "%s%ctemp", path_home, PATHSEP);
/* Use dictionary-specific temp names to allow parallel compilation
* of multiple ductionaries. */
sprintf(fname_temp, "%s%c%stemp", path_home, PATHSEP, dict_name);
value = N_HASH_DICT;
Write4Bytes(f_out, value);