Re: same problem in v4 as previous editions
- Posted by mattlewis (admin) Aug 28, 2009
- 1669 views
useless said...
Just as a hoot, what if the interpreter, before (or after?) loading the source file, copy/renamed it? Then, supposedly, the original is not linked in any way thru the OS to the renamed/loaded file.
Here are all of the places in the interpreter front end that open files:
main.e:84: return open(real_name, "r") pathopen.e:234: fn = open( conf_path, "r" ) pathopen.e:431: try = open( file_path, "r" ) pathopen.e:467: try = open(file_path, "r") pathopen.e:477: try = open(file_path, "r") pathopen.e:512: try = open(file_path, "r") pathopen.e:524: try = open(file_path, "r") platform.e:129: fh = open(lcmds[1], "rb") scanner.e:520: return open(new_include_name, "r")
Here are all of the places in the backend of the interpreter that open files:
be_machine.c:321:IFILE long_iopen(char *name, char *mode) be_machine.c:324: return iopen(name, mode); be_machine.c:330: return open(name, mode); be_rterror.c:201: TempErrFile = iopen(TempErrName, "w"); be_rterror.c:800: conin = iopen("CON", "r"); be_runtime.c:486: debug_log = iopen("debug.log", "w"); be_runtime.c:646: TempErrFile = iopen(TempErrName, "w"); be_runtime.c:3783: fp = long_iopen(cname, cmode); be_runtime.c:4663: trace_file = iopen("ctrace-d.out", "wb"); be_runtime.c:4665: trace_file = iopen("ctrace.out", "wb"); be_runtime.c:5185: f = iopen("ex.pro", "w"); be_runtime.c:5620: wrnf = iopen(TempWarningName,"w");
Those are all either opening error or logging files, or opening a file for use code.
Matt