21 lines
		
	
	
		
			402 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			402 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   {NodeType} *output = NULL;
 | |
| 
 | |
|   if (!list || list->node_count == 0) {{
 | |
|     goto RETURN_{Tupper}_LIST_POP_FRONT;
 | |
|   }}
 | |
| 
 | |
|   output = list->first;
 | |
| 
 | |
|   if (list->node_count == 1) {{
 | |
|     *list = ({ListType}){{0}};
 | |
|     goto RETURN_{Tupper}_LIST_POP_FRONT;
 | |
|   }}
 | |
| 
 | |
|   --(list->node_count);
 | |
|   list->first       = output->next;
 | |
| 
 | |
|   output->prev = output->next = NULL;
 | |
| 
 | |
| RETURN_{Tupper}_LIST_POP_FRONT:
 | |
|   return output;
 |