1*3219Smckusick /* Copyright (c) 1979 Regents of the University of California */ 2*3219Smckusick 3*3219Smckusick static char sccsid[] = "@(#)tmps.c 1.1 03/11/81"; 4*3219Smckusick 5*3219Smckusick #include "whoami.h" 6*3219Smckusick #include "0.h" 7*3219Smckusick 8*3219Smckusick /* 9*3219Smckusick * allocate runtime temporary variables 10*3219Smckusick */ 11*3219Smckusick long 12*3219Smckusick tmpalloc(size, type, loc) 13*3219Smckusick long size; 14*3219Smckusick struct nl *type; 15*3219Smckusick int loc; 16*3219Smckusick { 17*3219Smckusick long offset; 18*3219Smckusick 19*3219Smckusick offset = sizes[ cbn ].curtmps.om_off -= size; 20*3219Smckusick if ( offset < sizes[ cbn ].om_max ) { 21*3219Smckusick sizes[ cbn ].om_max = offset; 22*3219Smckusick } 23*3219Smckusick # ifdef PC 24*3219Smckusick putlbracket( ftnno , -offset ); 25*3219Smckusick # endif PC 26*3219Smckusick return offset; 27*3219Smckusick } 28*3219Smckusick 29*3219Smckusick /* 30*3219Smckusick * deallocate runtime temporary variables 31*3219Smckusick */ 32*3219Smckusick tmpfree(restore) 33*3219Smckusick struct tmps *restore; 34*3219Smckusick { 35*3219Smckusick long offset; 36*3219Smckusick 37*3219Smckusick offset = restore->om_off; 38*3219Smckusick if (offset > sizes[cbn].curtmps.om_off) { 39*3219Smckusick sizes[cbn].curtmps.om_off = offset; 40*3219Smckusick # ifdef PC 41*3219Smckusick putlbracket( ftnno , -offset ); 42*3219Smckusick # endif PC 43*3219Smckusick } 44*3219Smckusick } 45