CDE has relied upon catgets() implementations following a relaxed interpretation of the XPG internationalization standard that ignored -1, the standard error value returned by catopen, as the catalog argument. However, this same behavior causes segmentation faults with the musl C library. This patch: - Centralizes (with the exception of ToolTalk) all calls to catopen(), catgets(), and catclose() through MsgCat within the DtSvc library. - Prevents calls to catgets() and catclose() that rely upon undefined behavior. - Eliminates a number of bespoke catgets() wrappers, including multiple redundant caching implementations designed to work around a design peculiarity in HP/UX. - Eases building CDE without XPG internationalization support by providing the appropriate macros. |
||
|---|---|---|
| .. | ||
| Dtscreen.src | ||
| Imakefile | ||
| blank.c | ||
| dtscreen.c | ||
| dtscreen.h | ||
| dtscreen.msg | ||
| flame.c | ||
| hopalong.c | ||
| hsbramp.c | ||
| image.c | ||
| life.c | ||
| lifeicon.bit | ||
| pyro.c | ||
| qix.c | ||
| resource.c | ||
| rotor.c | ||
| swarm.c | ||
| usleep.c | ||
| worm.c | ||
| xlogo.bit | ||