pub(crate) unsafe fn synctex_terminate(mut _log_opened: bool) {
    if let Some(_file) = synctex_ctxt.file.as_mut() {
        /* We keep the file even if no tex output is produced
         * (synctex_ctxt.flags.not_void == 0). I assume that this means that there
         * was an error and tectonic will not save anything anyway. */
        synctex_record_postamble();
        ttstub_output_close(synctex_ctxt.file.take().unwrap());
    }
    synctexabort();
}
/*  Free all memory used and close the file,
 *  sent by close_files_and_terminate in tex.web.
 *  synctexterminate() is called when the TeX run terminates.
 */
Free all memory used and close the file,
sent by close_files_and_terminate in tex.web.
synctexterminate() is called when the TeX run terminates.
Free all memory used and close the file sent by close_files_and_terminate in tex . web . synctexterminate () is called when the TeX run terminates .
pub(crate) unsafe fn synctex_terminate(mut _log_opened: bool) {
    if let Some(_file) = synctex_ctxt.file.as_mut() {
        /* We keep the file even if no tex output is produced
         * (synctex_ctxt.flags.not_void == 0). I assume that this means that there
         * was an error and tectonic will not save anything anyway. */
        synctex_record_postamble();
        ttstub_output_close(synctex_ctxt.file.take().unwrap());
    }
    synctexabort();
}
pub ( crate ) unsafe fn synctex_terminate ( mut _log_opened : bool ) { if let Some ( _file ) = synctex_ctxt . file . as_mut ( ) { /* We keep the file even if no tex output is produced
         * (synctex_ctxt.flags.not_void == 0). I assume that this means that there
         * was an error and tectonic will not save anything anyway. */ synctex_record_postamble ( ) ; ttstub_output_close ( synctex_ctxt . file . take ( ) . unwrap ( ) ) ; } synctexabort ( ) ; }
Free all memory used and close the file,
  sent by close_files_and_terminate in tex.web.
Free all memory used and close the file sent by close_files_and_terminate in tex . web .
_log_opened
bool