63 lines
		
	
	
	
		
			956 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
	
		
			956 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 (l != (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);
 | |
| }
 |