standard library, because they never worked and come from an achingly old version of the Pascal specification. Fix the implementations of New() and Dispose() to use the standard C memory allocator rather than rolling their own (also in C). Write test!
		
			
				
	
	
		
			51 lines
		
	
	
	
		
			627 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
	
		
			627 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* REQUIRED PROCEDURES AND FUNCTIONS */
 | 
						|
 | 
						|
enum
 | 
						|
{
 | 
						|
    R__UNUSED = 0,
 | 
						|
 | 
						|
    /* PROCEDURES */
 | 
						|
    /* FILE HANDLING */
 | 
						|
    R_REWRITE,
 | 
						|
    R_PUT,
 | 
						|
    R_RESET,
 | 
						|
    R_GET,
 | 
						|
    R_PAGE,
 | 
						|
 | 
						|
    /* DYNAMIC ALLOCATION */
 | 
						|
    R_NEW,
 | 
						|
    R_DISPOSE,
 | 
						|
 | 
						|
    /* MISCELLANEOUS PROCEDURE(S) */
 | 
						|
    R_HALT,
 | 
						|
 | 
						|
    /* TRANSFER */
 | 
						|
    R_PACK,
 | 
						|
    R_UNPACK,
 | 
						|
 | 
						|
    /* FUNCTIONS */
 | 
						|
    /* ARITHMETIC */
 | 
						|
    R_ABS,
 | 
						|
    R_SQR,
 | 
						|
    R_SIN,
 | 
						|
    R_COS,
 | 
						|
    R_EXP,
 | 
						|
    R_LN,
 | 
						|
    R_SQRT,
 | 
						|
    R_ARCTAN,
 | 
						|
 | 
						|
    /* TRANSFER */
 | 
						|
    R_TRUNC,
 | 
						|
    R_ROUND,
 | 
						|
 | 
						|
    /* ORDINAL */
 | 
						|
    R_ORD,
 | 
						|
    R_CHR,
 | 
						|
    R_SUCC,
 | 
						|
    R_PRED,
 | 
						|
 | 
						|
    /* BOOLEAN */
 | 
						|
    R_ODD,
 | 
						|
    R_EOF,
 | 
						|
    R_EOLN,
 | 
						|
};
 |