unsafe fn synctex_dot_open() -> bool {
    if synctex_ctxt.flags.contains(Flags::OFF) || get_int_par(IntPar::synctex) == 0 {
        return false;
    }
    if synctex_ctxt.file.is_some() {
        return true;
    }
    let mut the_name = gettexstring(job_name);
    if !the_name.is_empty() {
        the_name += synctex_suffix;
        the_name += synctex_suffix_gz;
        synctex_ctxt.file = OutputHandleWrapper::open(&the_name, 1);
        if synctex_ctxt.file.is_some() && synctex_record_preamble() == 0 {
            synctex_ctxt.magnification = 1000;
            synctex_ctxt.unit = 1;
            if !synctex_ctxt.root_name.is_empty() {
                synctex_record_input(1, &synctex_ctxt.root_name);
                synctex_ctxt.root_name = String::new();
            }
            synctex_ctxt.count = 0;
            return true;
        }
    }
    /*printf("\nSyncTeX warning: no synchronization, problem with %s\n", the_name);*/
    synctexabort();
    false
}
/*  synctex_dot_open ensures that the foo.synctex file is open.
 *  In case of problem, it definitely disables synchronization.
 *  Now all the output synchronization info is gathered in only one file.
 *  It is possible to split this info into as many different output files as sheets
 *  plus 1 for the control but the overall benefits are not so clear.
 *  For example foo-i.synctex would contain input synchronization
 *  information for page i alone.
 */
synctex_dot_open ensures that the foo.synctex file is open.
In case of problem, it definitely disables synchronization.
Now all the output synchronization info is gathered in only one file.
It is possible to split this info into as many different output files as sheets
plus 1 for the control but the overall benefits are not so clear.
For example foo-i.synctex would contain input synchronization
information for page i alone.
synctex_dot_open ensures that the foo . synctex file is open . In case of problem it definitely disables synchronization . Now all the output synchronization info is gathered in only one file . It is possible to split this info into as many different output files as sheets plus 1 for the control but the overall benefits are not so clear . For example foo - i . synctex would contain input synchronization information for page i alone .
unsafe fn synctex_dot_open() -> bool {
    if synctex_ctxt.flags.contains(Flags::OFF) || get_int_par(IntPar::synctex) == 0 {
        return false;
    }
    if synctex_ctxt.file.is_some() {
        return true;
    }
    let mut the_name = gettexstring(job_name);
    if !the_name.is_empty() {
        the_name += synctex_suffix;
        the_name += synctex_suffix_gz;
        synctex_ctxt.file = OutputHandleWrapper::open(&the_name, 1);
        if synctex_ctxt.file.is_some() && synctex_record_preamble() == 0 {
            synctex_ctxt.magnification = 1000;
            synctex_ctxt.unit = 1;
            if !synctex_ctxt.root_name.is_empty() {
                synctex_record_input(1, &synctex_ctxt.root_name);
                synctex_ctxt.root_name = String::new();
            }
            synctex_ctxt.count = 0;
            return true;
        }
    }
    /*printf("\nSyncTeX warning: no synchronization, problem with %s\n", the_name);*/
    synctexabort();
    false
}
unsafe fn synctex_dot_open ( ) -> bool { if synctex_ctxt . flags . contains ( Flags :: OFF ) || get_int_par ( IntPar :: synctex ) == 0 { return false ; } if synctex_ctxt . file . is_some ( ) { return true ; } let mut the_name = gettexstring ( job_name ) ; if ! the_name . is_empty ( ) { the_name += synctex_suffix ; the_name += synctex_suffix_gz ; synctex_ctxt . file = OutputHandleWrapper :: open ( & the_name , 1 ) ; if synctex_ctxt . file . is_some ( ) && synctex_record_preamble ( ) == 0 { synctex_ctxt . magnification = 1000 ; synctex_ctxt . unit = 1 ; if ! synctex_ctxt . root_name . is_empty ( ) { synctex_record_input ( 1 , & synctex_ctxt . root_name ) ; synctex_ctxt . root_name = String :: new ( ) ; } synctex_ctxt . count = 0 ; return true ; } } /*printf("\nSyncTeX warning: no synchronization, problem with %s\n", the_name);*/ synctexabort ( ) ; false }
synctex_dot_open ensures that the foo.synctex file is open.
synctex_dot_open ensures that the foo . synctex file is open .