summaryrefslogtreecommitdiffstats
path: root/gnu
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>1999-06-08 14:59:12 +0000
committerache <ache@FreeBSD.org>1999-06-08 14:59:12 +0000
commitb00495cccd07075e873857235aa138a2be990b3d (patch)
treeb461095d9ccd55c9f4804fa363cca9d0f6cddbd5 /gnu
parentf30751c163814b434778611b74a47da97079dd02 (diff)
downloadFreeBSD-src-b00495cccd07075e873857235aa138a2be990b3d.zip
FreeBSD-src-b00495cccd07075e873857235aa138a2be990b3d.tar.gz
Just ignore malformed locale variable unless -d specified
Diffstat (limited to 'gnu')
-rw-r--r--gnu/usr.bin/man/man/man.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/gnu/usr.bin/man/man/man.c b/gnu/usr.bin/man/man/man.c
index 92e9f84..0ecae7f 100644
--- a/gnu/usr.bin/man/man/man.c
+++ b/gnu/usr.bin/man/man/man.c
@@ -479,18 +479,22 @@ man_getopt (argc, argv)
|| tmp != short_locale + 2
|| strlen(tmp + 1) < 4
|| tmp[3] != '.') {
- errno = EINVAL;
- perror ("bad ctype locale env");
- exit (1);
- }
- tmp[1] = short_locale[0];
- tmp[2] = short_locale[1];
- short_locale = tmp + 1;
- tmp = short_locale + 3;
- for (pltable = ltable; pltable->lcode != NULL; pltable++) {
- if (strcmp(pltable->lcode, tmp) == 0) {
- locale_nroff = pltable->nroff;
- break;
+ if (debug) {
+ errno = EINVAL;
+ perror ("ctype locale env");
+ }
+ free(short_locale);
+ locale = NULL;
+ } else {
+ tmp[1] = short_locale[0];
+ tmp[2] = short_locale[1];
+ short_locale = tmp + 1;
+ tmp = short_locale + 3;
+ for (pltable = ltable; pltable->lcode != NULL; pltable++) {
+ if (strcmp(pltable->lcode, tmp) == 0) {
+ locale_nroff = pltable->nroff;
+ break;
+ }
}
}
}
OpenPOWER on IntegriCloud