--- sh.func.c.orig Sat Sep 19 01:09:11 1998 +++ sh.func.c Sat Sep 26 19:23:40 1998 @@ -1286,6 +1286,9 @@ struct command *c; { Char *vp, *lp; +#ifdef __FreeBSD__ + static int catclosed = 0; +#endif USE(c); if (*++v == 0) { @@ -1337,7 +1340,15 @@ # ifdef LC_MESSAGES (void) setlocale(LC_MESSAGES, ""); # endif /* LC_MESSAGES */ +# ifdef __FreeBSD__ + /* This code is to avoid bug. */ + if (catclosed) + (void) catclose(catd); + else + catclosed = 1; +# else (void) catclose(catd); +# endif /* __FreeBSD__ */ nlsinit(); # endif /* NLS_CATALOGS */ # ifdef LC_CTYPE