スタイルの問題かもしれんが

if (!(fp = fopen(filename, "r"))) {
}