added a call to "initstart" so that process information
authorMark Linton <linton@ucbvax.Berkeley.EDU>
Tue, 9 Mar 1982 10:52:40 +0000 (02:52 -0800)
committerMark Linton <linton@ucbvax.Berkeley.EDU>
Tue, 9 Mar 1982 10:52:40 +0000 (02:52 -0800)
is re-initialized

SCCS-vsn: usr.bin/pascal/pdx/command/remake.c 1.2

usr/src/usr.bin/pascal/pdx/command/remake.c

index ff412c2..a1fd9d8 100644 (file)
@@ -1,6 +1,6 @@
 /* Copyright (c) 1982 Regents of the University of California */
 
 /* Copyright (c) 1982 Regents of the University of California */
 
-static char sccsid[] = "@(#)remake.c 1.1 %G%";
+static char sccsid[] = "@(#)remake.c 1.2 %G%";
 
 /*
  * Remake the object file from the source.
 
 /*
  * Remake the object file from the source.
@@ -15,26 +15,30 @@ static char sccsid[] = "@(#)remake.c 1.1 %G%";
  *
  * We have to save tracing info before, and read it in after, because
  * it might contain symbol table pointers.
  *
  * We have to save tracing info before, and read it in after, because
  * it might contain symbol table pointers.
+ *
+ * We also have to restart the process so that px dependent information
+ * is recomputed.
  */
 
 remake()
 {
  */
 
 remake()
 {
-       char *tmpfile;
+    char *tmpfile;
 
 
-       if (call("pi", stdin, stdout, dotpfile, NIL) == 0) {
-               if (strcmp(objname, "obj") != 0) {
-                       call("mv", stdin, stdout, "obj", objname, NIL);
-               }
-               tmpfile = mktemp("/tmp/pdxXXXX");
-               setout(tmpfile);
-               status();
-               unsetout();
-               bpfree();
-               objfree();
-               readobj(objname);
-               setinput(tmpfile);
-               unlink(tmpfile);
-       } else {
-               puts("pi unsuccessful");
+    if (call("pi", stdin, stdout, dotpfile, NIL) == 0) {
+       if (strcmp(objname, "obj") != 0) {
+           call("mv", stdin, stdout, "obj", objname, NIL);
        }
        }
+       tmpfile = mktemp("/tmp/pdxXXXX");
+       setout(tmpfile);
+       status();
+       unsetout();
+       bpfree();
+       objfree();
+       initstart();
+       readobj(objname);
+       setinput(tmpfile);
+       unlink(tmpfile);
+    } else {
+       puts("pi unsuccessful");
+    }
 }
 }