63 lines
		
	
	
	
		
			960 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
	
		
			960 B
		
	
	
	
		
			C
		
	
	
	
	
	
/*  I N L I N E   S U B S T I T U T I O N
 | 
						|
 *
 | 
						|
 *  I L 3 _ A U X . C
 | 
						|
 */
 | 
						|
 | 
						|
 | 
						|
#include "../share/types.h"
 | 
						|
#include "il.h"
 | 
						|
#include "../share/debug.h"
 | 
						|
#include "../share/alloc.h"
 | 
						|
#include "../share/global.h"
 | 
						|
#include "il_aux.h"
 | 
						|
#include "il3_aux.h"
 | 
						|
 | 
						|
 | 
						|
 | 
						|
line_p last_line(lines)
 | 
						|
	line_p lines;
 | 
						|
{
 | 
						|
	/* Determine the last line of a list */
 | 
						|
 | 
						|
	register line_p l;
 | 
						|
 | 
						|
	assert (lines != (line_p) 0);
 | 
						|
	for (l = lines; l->l_next != (line_p) 0; l = l->l_next);
 | 
						|
	return l;
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
 | 
						|
app_list(list,l)
 | 
						|
	line_p list,l;
 | 
						|
{
 | 
						|
	/* Append the list after line l */
 | 
						|
 | 
						|
	line_p llast;
 | 
						|
 | 
						|
	assert(l != (line_p) 0);
 | 
						|
	assert (list != (line_p) 0);
 | 
						|
	llast = last_line(list);
 | 
						|
	llast->l_next = l->l_next;
 | 
						|
	if (l->l_next != (line_p) 0) {
 | 
						|
		PREV(l->l_next) = llast;
 | 
						|
	}
 | 
						|
	l->l_next = list;
 | 
						|
	PREV(list) = l;
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
 | 
						|
rem_line(l)
 | 
						|
	line_p l;
 | 
						|
{
 | 
						|
	/* Remove a line from the list */
 | 
						|
 | 
						|
	if (PREV(l) != (line_p) 0) {
 | 
						|
		PREV(l)->l_next = l->l_next;
 | 
						|
	}
 | 
						|
	if (l->l_next != (line_p) 0) {
 | 
						|
		PREV(l->l_next) = PREV(l);
 | 
						|
	}
 | 
						|
	oldline(l);
 | 
						|
}
 |