Skip to Content.
Sympa Menu

freetds - Re: [freetds] How to set locales.conf in spanish

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "James K. Lowden" <jklowden AT schemamania.org>
  • To: freetds AT lists.ibiblio.org
  • Subject: Re: [freetds] How to set locales.conf in spanish
  • Date: Fri, 10 Jan 2003 12:49:35 -0500

On 10 Jan 2003 09:08:10 -0800, Michael Peppler <mpeppler AT peppler.org>
wrote:
>
> > FreeTDS reads the LANG environment variable, and uses it as a key into
> > locales.conf. It expects a 5-character value in $LANG: 2 (lowercase)
> > for the language, an underscore, and 2 (uppercase) for the country.
>
> I got a weird result when I tried to mix DBD::FreeTDS (with freetds) and
> DBD::Sybase (with openclient) in the same perl script.
>
> If I loaded DBD::Sybase *after* DBD::FreeTDS I got an error from the
> Sybase locale handler, because suddenly LANG (or LC_ALL) was set to
> en_us instead of en_US (or at least the Sybase libs thought so).


This may be the culprit, in src/tds/locale.c

s = getenv("LANG");
if (s && strlen(s)) {
rewind(in);
for (i = 0; i < strlen(s); i++)
s[i] = tolower(s[i]);
tds_read_conf_section(in, s, tds_parse_locale, locale);
}

Perhaps your OS returns a pointer to the true environment string, not a
copy?

--jkl




Archive powered by MHonArc 2.6.24.

Top of Page