History log of /freebsd-current/lib/libc/locale/nl_langinfo.c
Revision Date Author Comments
# 559a218c 01-Nov-2023 Warner Losh <imp@FreeBSD.org>

libc: Purge unneeded cdefs.h

These sys/cdefs.h are not needed. Purge them. They are mostly left-over
from the $FreeBSD$ removal. A few in libc are still required for macros
that cdefs.h defines. Keep those.

Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D42385


# 1d386b48 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# 4d846d26 10-May-2023 Warner Losh <imp@FreeBSD.org>

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix


# 5b5fa75a 04-Aug-2022 Ed Maste <emaste@FreeBSD.org>

libc: drop "All rights reserved" from Foundation copyrights

This has already been done for most files that have the Foundation as
the only listed copyright holder. Do it now for files that list
multiple copyright holders, but have the Foundation copyright in its own
section.

Sponsored by: The FreeBSD Foundation


# d915a14e 25-Nov-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

libc: further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 2-Clause license, however the tool I
was using mis-identified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.


# 32223c1b 29-Apr-2016 Pedro F. Giffuni <pfg@FreeBSD.org>

libc: spelling fixes.

Mostly on comments.


# 87101cb5 10-Nov-2015 Baptiste Daroussin <bapt@FreeBSD.org>

return "US-ASCII" instead of "POSIX" for "C" and "POSIX" locales
as it used to be in previous version of the locales. Returning
"POSIX" has too many fallouts.


# 40310594 09-Nov-2015 Baptiste Daroussin <bapt@FreeBSD.org>

nl_langinfo: Simplify case ladder

The NONE:US-ASCII case isn't necessary. The "NONE:" case will handle
US-ASCII, so let's remove the redundant handling.

Submitted by: marino
Obtained from: DragonflyBSD


# 473aa0b7 09-Nov-2015 Baptiste Daroussin <bapt@FreeBSD.org>

locales: Enforce US-ASCII encoding (limited to 7-bit)

The US-ASCII format was getting treated identically to POSIX. It is
supposed to throw an ILSEQ errno if a value of 0x80 or greater is
encountered, so let's bring back the "ASCII" handling.

While here, change nl_codeset to return US-ASCII only when the encoding
really is "US-ASCII". Before "C" and "POSIX" encoding returned this
string, so now they return "POSIX".

Discussed with: ache
Submitted by: marino
Obtained from: DragonflyBSD


# d79cdd21 31-Oct-2015 Baptiste Daroussin <bapt@FreeBSD.org>

libc: Fix (and improve) nl_langinfo (CODESET)

The output of "locale charmap" is identical to the result of
nl_langinfo (CODESET) for any given locale. The logic for returning the
codeset was very simplistic. It just returned portion of the locale name
after the period (e.g. en_FR.ISO8859-1 returned "ISO8859-1").

When softlinks were added to locales, this broke. e.g.:
en_US returned ""
en_FR.UTF8 returned "UTF8"
en_FR.UTF-8 returned "UTF-8"
zh_Hant_HK.Big5HKSCS returned "Big5HKSCS"
zh_Hant_TW.Big5 returned "Big5"
es_ES@euro returned ""

In order to fix this properly, the named locale cannot be used to
determine the encoding. This information was almost available in the
rune data. Unfortunately, all the single byte encodings were listed
as "NONE" encoding.

So I adjusted localedef tool to provide more information about the
encoding. For example, instead of "NONE", the LC_CTYPE used by
fr_FR.ISO8859-15 is now encoded as "NONE:ISO8859-15". The locale
handlers now check if the first four characters of the encoding is
"NONE" and if so, treats it as a single-byte encoding.

The nl_langinfo handling of CODESET was adjusting accordingly. Now the
following is returned:
en_US returns "ISO8859-1"
fr_FR.UTF8 returns "UTF-8"
fr_FR.UTF-8 returns "UTF-8"
zh_Hant_HK.Big5HKSCS returns "Big5"
zh_Hant_TW.Big5 returns "Big5"
es_ES@euro returns "ISO8859-15"

as before, "C" and "POSIX" locales return "US-ASCII". This is a big
improvement. The result of nl_langinfo can never be a zero-length
string and it will always exclusively one of the values of the
character maps of /usr/src/tools/tools/locale/etc/final-maps.

Submitted by: marino
Obtained from: DragonflyBSD


# 3c87aa1d 20-Nov-2011 David Chisnall <theraven@FreeBSD.org>

Implement xlocale APIs from Darwin, mainly for use by libc++. This adds a
load of _l suffixed versions of various standard library functions that use
the global locale, making them take an explicit locale parameter. Also
adds support for per-thread locales. This work was funded by the FreeBSD
Foundation.

Please test any code you have that uses the C standard locale functions!

Reviewed by: das (gdtoa changes)
Approved by: dim (mentor)


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# 05edd60b 31-Oct-2009 Edwin Groothuis <edwin@FreeBSD.org>

MFCs of r197764, r197765, r197766, r197847:

Modified locale(1) to be able to show the altmon_X fields and the
[cxX]_fmt's. Also modify the "-k list" option to display only
fields with a certain prefix.

Add the comment "(FreeBSD only)" to the altmonth_x keywords


# 28c42042 05-Oct-2009 Edwin Groothuis <edwin@FreeBSD.org>

Modified locale(1) to be able to show the altmon_X fields and the [cxX]_fmt's.
Also modify the "-k list" option to display only fields with a certain prefix.

MFC after: 1 week


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 683fe113 26-Jun-2003 Alexey Zelkin <phantom@FreeBSD.org>

. style(9)
. fix/add comments (to cover changes done thru last 20 months)
. extend monetary testcase to cover int_* values


# 0c7fbc6c 09-Jun-2003 Andrey A. Chernov <ache@FreeBSD.org>

Remove transition period hack


# 333fc21e 22-Mar-2002 David E. O'Brien <obrien@FreeBSD.org>

Fix the style of the SCM ID's.
I believe have made all of libc .c's as consistent as possible.


# 74f2b975 11-Dec-2001 Alexey Zelkin <phantom@FreeBSD.org>

* Add my e-mail to copyrights
* style(9)'ify


# d118fd8a 25-Jun-2001 Andrey A. Chernov <ache@FreeBSD.org>

Return "" if reallocf() fails


# 4e86aa7f 25-Jun-2001 Andrey A. Chernov <ache@FreeBSD.org>

Add transition period hack allowing old locale names return proper codeset too


# 75d03a7f 10-Jun-2001 Andrey A. Chernov <ache@FreeBSD.org>

Handle "ASCII" and "US-ASCII" aliases


# 71a71d57 19-Mar-2001 Andrey A. Chernov <ache@FreeBSD.org>

Implement D_MD_ORDER (local extension) to get month/day order from locale


# c0bbece1 02-Mar-2001 Andrey A. Chernov <ache@FreeBSD.org>

Actually implement T_FMT_AMPM


# e1467aa9 19-Feb-2001 Alexey Zelkin <phantom@FreeBSD.org>

cleanup commentaries


# 8a8e51d8 17-Feb-2001 Andrey A. Chernov <ache@FreeBSD.org>

CRNCYSTR: determine '.' too


# 59dde0d0 17-Feb-2001 Andrey A. Chernov <ache@FreeBSD.org>

Implement CRNCYSTR


# d6a3432e 13-Feb-2001 Andrey A. Chernov <ache@FreeBSD.org>

Return {YES,NO}STR from locale

Approved by: phantom


# d0e2083f 09-Feb-2001 Andrey A. Chernov <ache@FreeBSD.org>

Implement CODESET


# 634c9465 09-Feb-2001 Andrey A. Chernov <ache@FreeBSD.org>

Back out attempt to implement CRNCYSTR - require additional prefixes according
to SUSV2. Add comment explaining it instead.


# 218bcbcb 09-Feb-2001 Andrey A. Chernov <ache@FreeBSD.org>

Explicitly mark deprecated entries.
Return currency_symbol for CRNCYSTR
Return "%r" for T_FMT_AMPM
Remove obsoleted comment about c_fmt
Return "" for {YES,NO}STR


# 60e1d74f 08-Feb-2001 Alexey Zelkin <phantom@FreeBSD.org>

Add SUSv2 compatible nl_langinfo() function. It still need some work, but
this is already usable one.