add non-stub implementation of catgets localization functions
authorRich Felker <dalias@aerifal.cx>
Thu, 8 Aug 2019 01:15:53 +0000 (21:15 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 8 Aug 2019 01:15:53 +0000 (21:15 -0400)
commit7590203c486d9002522019045d34ee3dee0a66f5
tree5d0a587e9bdf2cafdac379f306e7be94447490c8
parentd0b547dfb5f7678cab6bc39dd736ed6454357ca4
add non-stub implementation of catgets localization functions

these accept the netbsd/openbsd message catalog file format,
consisting of a sorted list of set headers and a sorted list of
message headers for each set, admitting trivial binary search for
lookups.

the gnu format was not chosen because it's unusably bad. it does not
admit efficient (log time or better) lookups; rather, it requires
linear search or hash table lookups, and the hash function is awful:
it's literally set_id*msg_id.
src/locale/catclose.c
src/locale/catgets.c
src/locale/catopen.c