From: Dave Mason To: dj AT ctron DOT com Cc: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: bug in exec(2) (with fix) Date: Fri, 7 Jan 1994 21:58:45 -0500 Apart from one small buglet, execv etc. works well. The bug is that the initialization of rd in line 5 below was omitted, leading to segfaults... (but it is *so* much nicer to be using a real compiler on DOS -- where you *get* segfaults*, rather than random memory corruption from (particularly Microsoft) commercial DOS compilers. Now I just have to get file locking to work on Novell. Thanks ../Dave ------------- libsrc/c/lib/exec.c -------------------- int spawnve(int mode, const char *path, const char **argv, const char **envp) { /* This is the one that does the work! */ int i = -1; char rpath[80], *rp, *rd=0; for (rp=rpath; *path; *rp++ = *path++) { if (*path == '.') rd = rp; if (*path == '\\' || *path == '/') rd = 0; } *rp = 0; if (rd) { for (i=0; interpreters[i].extension; i++) if (stricmp(rd, interpreters[i].extension) == 0) break; }