diff options
author | psykose <alice@ayaya.dev> | 2022-03-02 21:16:54 +0100 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2022-03-27 18:59:15 -0400 |
commit | 01b14242cccb03c411d3eb1437c99da663c95507 (patch) | |
tree | ebbb655ab5fbeaee73b1f1dfef36da08a9cc14ff /src | |
parent | 6d8a515796270eb6cec8a278cb353a078a10f09a (diff) | |
download | musl-01b14242cccb03c411d3eb1437c99da663c95507.tar.gz musl-01b14242cccb03c411d3eb1437c99da663c95507.tar.xz musl-01b14242cccb03c411d3eb1437c99da663c95507.zip |
accept null pointer as message argument to gettext functions
the change to support passing null was rejected in the past on the grounds that GNU gettext documented it as undefined, on an assumption that only glibc accepted it and that the standalone GNU gettext did not. but it turned out that both explicitly accept it. in light of this, since some software assumes null can be passed safely, allow it.
Diffstat (limited to 'src')
-rw-r--r-- | src/locale/dcngettext.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/locale/dcngettext.c b/src/locale/dcngettext.c index d1e6c6d1..0b53286d 100644 --- a/src/locale/dcngettext.c +++ b/src/locale/dcngettext.c @@ -132,6 +132,9 @@ char *dcngettext(const char *domainname, const char *msgid1, const char *msgid2, struct binding *q; int old_errno = errno; + /* match gnu gettext behaviour */ + if (!msgid1) goto notrans; + if ((unsigned)category >= LC_ALL) goto notrans; if (!domainname) domainname = __gettextdomain(); |