1struct node { 2 struct node *next; 3 int value; 4}; 5 6struct node *current_node, global_list; 7 8void 9bar (void) 10{ 11 struct node *node, *next; 12 13 node = current_node; 14 next = node->next; 15 if (node != &global_list) 16 current_node = next; 17 else 18 { 19 node = global_list.next; 20 global_list.value = node->value; 21 global_list.next = node->next; 22 } 23 foo (node); 24} 25