merge in onyx changes
[unix-history] / usr / src / usr.bin / pascal / libpc / FCALL.c
index e9e88b6..ab5f0bc 100644 (file)
@@ -1,21 +1,16 @@
 /* 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.2 %G%";
 
 #include "h00vars.h"
 
 
 #include "h00vars.h"
 
+long *
 FCALL(frtn)
        register struct formalrtn *frtn;
 {
 FCALL(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(frtn->cbn * sizeof(struct display),
+              &_disply[1], &frtn->disp[frtn->cbn]);
+       blkcpy(frtn->cbn * sizeof(struct display),
+              &frtn->disp[0], &_disply[1]);
+       return (long *)(frtn->entryaddr);
 }
 }