Date: 4 Feb 1997 01:55:53 -0000 From: Dan Cross <tenser@spitfire.ecsel.psu.edu> To: security@freebsd.org Subject: more locale patches... Message-ID: <19970204015553.29804.qmail@spitfire.ecsel.psu.edu>
next in thread | raw e-mail | index | archive | help
(NOTE: these patches are for 2.2...)
Here are patches for more locate stuff from 2.2-CURRENT, well, it's not
that current:
: spitfire 1144; uname -a
FreeBSD spitfire.ecsel.psu.edu 2.2-CURRENT FreeBSD 2.2-CURRENT #0: Sat Sep 28
16:39:56 EDT 1996 tenser@spitfire.ecsel.psu.edu:/usr/src/sys/compile/SPIT
FIRE i386
: spitfire 1145;
But they might help out nonetheless. Note that in setlocale.c, the
sections that were changed are enclosed in #if 0's, marked with the
comment, ``someday we might actually use the file.'' :-) I see no
harm in changing that code now, however, in preperation for the
future. :-) Thanks!
- Dan C.
(btw- I don't guarantee that this fixes every bug in the locale
functions, but, it's a start. :-)
----- Begin locale.diff
*** collate.c 1997/02/03 23:45:56 1.1
--- collate.c 1997/02/03 23:49:55
***************
*** 71,80 ****
return 0;
if (!_PathLocale && !(_PathLocale = getenv("PATH_LOCALE")))
_PathLocale = _PATH_LOCALE;
! strcpy(buf, _PathLocale);
! strcat(buf, "/");
! strcat(buf, encoding);
! strcat(buf, "/LC_COLLATE");
if ((fp = fopen(buf, "r")) == NULL) {
__collate_load_error = save_load_error;
return -1;
--- 71,78 ----
return 0;
if (!_PathLocale && !(_PathLocale = getenv("PATH_LOCALE")))
_PathLocale = _PATH_LOCALE;
! (void)snprintf(buf,
! PATH_MAX, "%s/%s/LC_COLLATE", _PathLocale, encoding);
if ((fp = fopen(buf, "r")) == NULL) {
__collate_load_error = save_load_error;
return -1;
*** setrunelocale.c 1997/02/03 23:47:15 1.1
--- setrunelocale.c 1997/02/03 23:48:19
***************
*** 86,95 ****
if (!_PathLocale && !(_PathLocale = getenv("PATH_LOCALE")))
_PathLocale = _PATH_LOCALE;
! (void) strcpy(name, _PathLocale);
! (void) strcat(name, "/");
! (void) strcat(name, encoding);
! (void) strcat(name, "/LC_CTYPE");
if ((fp = fopen(name, "r")) == NULL)
return(ENOENT);
--- 86,93 ----
if (!_PathLocale && !(_PathLocale = getenv("PATH_LOCALE")))
_PathLocale = _PATH_LOCALE;
! (void)snprintf(name,
! PATH_MAX, "%s/%s/LC_CTYPE", _PathLocale, encoding);
if ((fp = fopen(name, "r")) == NULL)
return(ENOENT);
----- End locale.diff
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970204015553.29804.qmail>
