if (!open(name)) return FALSE;
if (!read(1) || !read(2)) close();return FALSE;
close();
return TRUE;

ループ使わんでも↑だけでいいんじゃないの?
open()の仕様がわからんけど、name自体の判定せんでもopen()の成否で十分と勝手に想像。