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