diff --git a/lang/cem/cemcom.ansi/idf.c b/lang/cem/cemcom.ansi/idf.c index 8429fe036..59e225cb4 100644 --- a/lang/cem/cemcom.ansi/idf.c +++ b/lang/cem/cemcom.ansi/idf.c @@ -528,9 +528,15 @@ declare_formals(idf, fp) /* When one of the formals has the same name as the function, it hides the function def. Get it. */ - if (se && se->se_idf == idf) { - df = df->next; + while (se) { + if (se->se_idf == idf) { + df = df->next; + break; + } + se = se->next; } + + se = stack_level_of(L_FORMAL1)->sl_entry; hasproto = df->df_type->tp_proto != 0;