As I said, it wouldn't be a syntax error if ... contained the matching { somewhere inside.
That lone } which seemingly belongs to if in this case would be closing the function.
They are talking about the } after the return, not the one after the ...
i.e.
else return(1);
}
Yes, that's what I understood. That } after return matches to the function opening {. So it's correct syntactically, but is wrong according to intention.