from John Gilmore to support gcc
[unix-history] / usr / src / usr.bin / pascal / libpc / FCALL.c
index e9e88b6..0f97d94 100644 (file)
@@ -1,21 +1,14 @@
 /* Copyright (c) 1979 Regents of the University of California */
 
 /* Copyright (c) 1979 Regents of the University of California */
 
-static char sccsid[] = "@(#)FCALL.c 1.1 %G%";
+static char sccsid[] = "@(#)FCALL.c 1.4 %G%";
 
 #include "h00vars.h"
 
 
 #include "h00vars.h"
 
-FCALL(frtn)
+FCALL(save, frtn)
+       char *save;
        register struct formalrtn *frtn;
 {
        register struct formalrtn *frtn;
 {
-       register struct display *dp;
-       register struct display *ds;
-       struct display *limit;
-
-       limit = &frtn->disp[2 * frtn->cbn];
-       for (dp = &_disply[1], ds = &frtn->disp[frtn->cbn]; ds < limit; )
-               *ds++ = *dp++;
-       limit = &frtn->disp[frtn->cbn];
-       for (ds = &frtn->disp[0], dp = &_disply[1]; ds < limit; )
-               *dp++ = *ds++;
-       return (long)(frtn->entryaddr);
+       blkcpy(&_disply[1], save, frtn->fbn * sizeof(struct display));
+       blkcpy(&frtn->fdisp[0], &_disply[1],
+               frtn->fbn * sizeof(struct display));
 }
 }