Matlab Gfortran stream redirect

Matlab grabs the stdout, stderr, stdin handles of a Gfortran program, even when using Java ProcessBuilder. Disable this capture to allow external languages like Java to capture the output. Just before the external process is started in the Matlab script:

outold = getenv("GFORTRAN_STDOUT_UNIT");
setenv("GFORTRAN_STDOUT_UNIT", "6");

errold = getenv("GFORTRAN_STDERR_UNIT");
setenv("GFORTRAN_STDERR_UNIT", "0");

inold = getenv("GFORTRAN_STDIN_UNIT");
setenv("GFORTRAN_STDIN_UNIT", "5");

After the process is finished, restore the original values:

setenv("GFORTRAN_STDOUT_UNIT", outold);
setenv("GFORTRAN_STDERR_UNIT", errold);
setenv("GFORTRAN_STDIN_UNIT", inold);