異常は戻りをNULLにするパティーンで 
 node_t *func3(node_t**, ...)

正常だった場合に ptr = func3(&ptr, opt); と書けるしw (無駄な努力の可能性