Home | History | Annotate | Download | only in libintl
History log of /src/lib/libintl/gettext.c
RevisionDateAuthorComments
 1.34  13-Mar-2025  rillig libintl: fix lint warning about strchr effectively discarding 'const'
 1.33  18-Aug-2024  christos Avoid undefined behavior.
 1.32  13-Apr-2024  christos branches: 1.32.2;
PR/58136: Paul Ripke: Fix use after free.
 1.31  03-Oct-2019  christos branches: 1.31.8;
provide sizes so that we don't truncate accidentally.
 1.30  04-Feb-2019  mrg check for snprintf() truncation and fail sanely if so, rather than
attempting to use a file that won't exist or isn't secure.
 1.29  29-May-2015  christos branches: 1.29.16;
Patch from William Orr in tech-userlevel:

- Added most *p*gettext functions
- Added basic function to concat msgctxt and msgid
- Simplify free handling

Need to write tests.
 1.28  30-Jul-2012  yamt comments
 1.27  21-Mar-2012  matt Use C89 function definition
 1.26  21-Jan-2012  tnozaki branches: 1.26.2;
libintl crash when *.mo file lacks header section(old gettext format).
reported by jun@ -san, tested by tsutsui@ -san. thanks!
 1.25  25-Sep-2007  junyoung branches: 1.25.28;
Massive cosmetic changes, notably:
* ANSIfy
* De-__P
* u_intXX_t -> uintXX_t
* Remove "extern" from function prototypes
 1.24  01-Jun-2005  lukem branches: 1.24.10;
appease gcc -Wuninitialized
 1.23  15-May-2005  yamt dcngettext: don't return stack garbage when there's no usable database.
 1.22  14-May-2005  tshiozak add plural support.
 1.21  27-Apr-2005  yamt correct size to malloc.
 1.20  23-Sep-2004  tshiozak branches: 1.20.2;
add system dependent strings support.
this hopefully allows to use .mo files generated by gettext-0.12 or later.
 1.19  23-Sep-2004  tshiozak - add hash table support.
- make use of __UNCONST() instead of LINTED.
 1.18  18-Jan-2004  yamt implement gettext implicit iconv and bind_textdomain_codeset.
 1.17  05-Jan-2004  itojun sys/types.h is not needed here. kevlo@openbsd
 1.16  02-Jan-2004  itojun minor KNF
 1.15  02-Jan-2004  itojun use strlcpy
 1.14  09-Mar-2003  lukem enable __RCSID() (no need to protect in LIBC_SCCS or !__lint)
 1.13  13-Feb-2002  yamt - give the precedence to LC_ALL environment variable
than other LC_* variables.
 1.12  29-Dec-2001  yamt fix a bug that uninitialised buffer is used when LANG is like "en_US".
 1.11  09-Dec-2001  yamt allow relative pathnames as a dirname argument of bindtextdomain(3)
since some autoconf configure scripts depends on this behavior.
 1.10  27-Sep-2001  yamt - change mofile search order according to manpage(=li18nux2000).
- there is no need to fail even if strdup for odomainname&ocname were failed.
- don't modify lpath in lookup_mofile since it may used later(copied to olpath)

(sync with citrus)
 1.9  16-Feb-2001  minoura Sync w/ Citrus.
Do not unmap mo files to make sure the gettext() return values are
valid even when multiple mo files are accessed by turns.
Some applications (GNOME, etc) depends on this behaviour of GNU's
implementation.
 1.8  15-Feb-2001  minoura Sync w/ Citrus.
Return NULL when msgid == NULL, per GNU implementation.
 1.7  15-Dec-2000  itojun fix mmap() return value validation. comment from freebsd-audit.
 1.6  14-Dec-2000  itojun check strdup failure. reported by freebsd-audit.
sync with citrus.
 1.5  03-Nov-2000  itojun update bindtextdomain() handling to be conformant to spec. we need to
maintain database for (domain, path). sync with citrus.
 1.4  31-Oct-2000  itojun less warnings on lint. be more friendly with align-picky arch.
 1.3  31-Oct-2000  itojun remove confusing goto. sync with citrus
 1.2  31-Oct-2000  itojun fix read(2) return value validation. sync with citrus
 1.1  31-Oct-2000  itojun branches: 1.1.1;
Initial revision
 1.1.1.1  31-Oct-2000  itojun BSD-licensed libintl, fully compatible with GNU libintl (in GNU gettext).
from Citrus project xpg4dl repository.
 1.20.2.1  01-May-2005  tron Pull up revision 1.21 (requested by yamt in ticket #237):
correct size to malloc.
 1.24.10.1  06-Nov-2007  matt sync with HEAD
 1.25.28.2  30-Oct-2012  yamt sync with head
 1.25.28.1  17-Apr-2012  yamt sync with head
 1.26.2.2  23-Apr-2012  riz Back out changes committed as part of ticket #195 which were apparently
not intended as part of the pullup request. Should fix netbsd-6 build.
 1.26.2.1  23-Apr-2012  riz Pull up following revision(s) (requested by manu in ticket #195):
lib/libskey/skeysubr.c: revision 1.27
lib/libkvm/kvm_getloadavg.c: revision 1.11
lib/libwrap/update.c: revision 1.9
lib/liby/yyerror.c: revision 1.9
lib/libpuffs/puffs_ops.3: revision 1.30
lib/libwrap/misc.c: revision 1.10
lib/libwrap/hosts_access.c: revision 1.20
lib/libpuffs/pnode.c: revision 1.11
lib/libperfuse/subr.c: revision 1.17
lib/libpuffs/pnode.c: revision 1.12
lib/libperfuse/subr.c: revision 1.18
lib/libwrap/options.c: revision 1.15
lib/libwrap/fix_options.c: revision 1.11
lib/libperfuse/ops.c: revision 1.52
lib/libperfuse/ops.c: revision 1.53
lib/libperfuse/ops.c: revision 1.54
lib/libwrap/hosts_ctl.c: revision 1.5
lib/libintl/gettext.c: revision 1.27
lib/libwrap/shell_cmd.c: revision 1.6
lib/libpuffs/dispatcher.c: revision 1.39
lib/libperfuse/perfuse_priv.h: revision 1.27
lib/libwrap/socket.c: revision 1.19
lib/libpuffs/puffs.3: revision 1.50
lib/libperfuse/perfuse_priv.h: revision 1.28
lib/libpuffs/puffs_priv.h: revision 1.45
lib/libpuffs/puffs.3: revision 1.51
lib/libperfuse/perfuse_priv.h: revision 1.29
lib/libwrap/percent_x.c: revision 1.5
lib/libpuffs/puffs.3: revision 1.52
lib/libperfuse/debug.c: revision 1.11
sys/fs/puffs/puffs_vnops.c: revision 1.165
lib/libwrap/tcpd.h: revision 1.13
sys/fs/puffs/puffs_vnops.c: revision 1.166
lib/libwrap/eval.c: revision 1.7
sys/fs/puffs/puffs_msgif.h: revision 1.78
sys/fs/puffs/puffs_vfsops.c: revision 1.101
lib/libwrap/rfc931.c: revision 1.9
lib/libwrap/clean_exit.c: revision 1.5
lib/libpuffs/puffs.h: revision 1.120
lib/libc/stdlib/jemalloc.c: revision 1.27
lib/librmt/rmtlib.c: revision 1.26
lib/libpuffs/puffs.h: revision 1.121
sys/fs/puffs/puffs_sys.h: revision 1.79
lib/librumpclient/rumpclient.c: revision 1.48
lib/libwrap/refuse.c: revision 1.5
lib/libperfuse/perfuse.c: revision 1.26
lib/libperfuse/perfuse.c: revision 1.27
tests/fs/puffs/t_fuzz.c: revision 1.5
lib/libperfuse/perfuse.c: revision 1.28
lib/libpuffs/dispatcher.c: revision 1.40
sys/fs/puffs/puffs_node.c: revision 1.24
lib/libwrap/diag.c: revision 1.9
lib/libintl/textdomain.c: revision 1.13
Use C89 function definition
Add name and atttribute cache with filesytem provided TTL.
lookup, create, mknod, mkdir, symlink, getattr and setattr messages
have been extended so that attributes and their TTL can be provided
by the filesytem. lookup, create, mknod, mkdir, and symlink messages
are also extended so that the filesystem can provide name TTL.
Add PUFFS_KFLAG_CACHE_FS_TTL flag to puffs_init(3) to use name and
attribute cache with filesystem provided TTL.
lookup, create, mknod, mkdir, symlink, getattr and setattr messages
have been extended so that attributes and their TTL can be provided
by the filesytem. lookup, create, mknod, mkdir, and symlink messages
are also extended so that the filesystem can provide name TTL.
The filesystem updates attributes and TTL using
puffs_pn_getvap(3), puffs_pn_getvattl(3), and puffs_pn_getcnttl(3)
Use new PUFFS_KFLAG_CACHE_FS_TTL option to puffs_init(3) so that
FUSE TTL on name and attributes are used. This save many PUFFS
operations and improves performances.
PUFFS_KFLAG_CACHE_FS_TTL is #ifdef'ed in many places for now so that
libperfuse can still be used on netbsd-5.
Split file system.
Comma fixes.
Remove dangling "and".
Bump date for previous.
- Makesure update_va does not change vnode size when it should not. For
instance when doing a fault-issued VOP_GETPAGES within VOP_WRITE, changing
size leads to panic: genfs_getpages: past eof.
-Handle ticks wrap around for vnode name andattribute timeout
- When using PUFFS_KFLAG_CACHE_FS_TTL, do not use puffs_node to carry
attribute and TTL fora newly created node. Instead extend puffs_newinfo
and add puffs_newinfo_setva() and puffs_newinfo_setttl()
- Remove node_mk_common_final in libperfuse. It used to set uid/gid for
a newly created vnode but has been made redundant along time ago since
uid and gid are properly set in FUSE header.
- In libperfuse, check for corner case where opc = 0 on INACTIVE and RECLAIM
(how is it possible? Check for it to avoid a crash anyway)
- In libperfuse, make sure we unlimit RLIMIT_AS and RLIMIT_DATA so that
we do notrun out of memory because the kernel is lazy at reclaiming vnodes.
- In libperfuse, cleanup style of perfuse_destroy_pn()
Do not set PUFFS_KFLAG_CACHE_FS_TTL for PUFFS tests
 1.29.16.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.29.16.1  10-Jun-2019  christos Sync with HEAD
 1.31.8.2  15-Sep-2024  martin Additionally pull up the following, requested by riastradh in ticket #842:

lib/libintl/gettext.c 1.33

Avoid undefined behaviour.
 1.31.8.1  12-Sep-2024  martin Pull up following revision(s) (requested by rin in ticket #842):

lib/libintl/gettext.c: revision 1.32

PR/58136: Paul Ripke: Fix use after free.
 1.32.2.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed