1 /* $Id: $ */
2 
3 /* Copyright (C) 1997 Sverre Hvammen Johansen and Terje Mjoes,
4  * Department of Informatics, University of Oslo.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; version 2.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  */
19 
20 #include "cim.h"
21 #include "align.h"
22 
23 /******************************************************************************
24                                                         RutineEndProcedure   */
25 
26 void
__rep()27 __rep ()
28 {
29   __dhp x;
30   long size;
31   __goto.ent = __pb->ex.ent;
32   __goto.ment = __pb->ex.ment;
33   x = __pb;
34   size = __pb->pp->size;
35   __pb = __pb->dl;
36   if (__pb->pp == (__pty) __ACTS)
37     __rrs ();
38   __lb = __pb;
39   while (__lb->pm || __lb->pp == (__pty) __ACTS)
40     __lb = __lb->dl;
41   /* Frigj|r memory */
42   if ((char *) __fri == (((char *) x) + align (size))
43       || __roa ((__dhp) ((char *) x + align (size))))
44     {
45       memset ((char *) x, 0, (char *) __fri - (char *) x);
46       __fri = x;
47     }
48 }
49