User Tools

Site Tools


Development Blog

Here I jot down thoughts, roadmaps, to-do's and other things related to PDCLib. Newest entry first.

2018-07-02 (2)

Bah. Think first. There already is a function to load contents for the various locale-data structures from file, and it's name is setlocale().

Also, while loading from the filesystem is rather “raw”, any other mechanic will be even more “raw”, and less standard (as in, <stdio.h>).

So stop dithering and make setlocale() do more than return NULL;. ;-)


Looking at what I already had in <locale.h>, I decided some reworking was required. Stuffing everything into struct lconv was not the smartest idea I had, so I did split things up into separate struct _PDCLIB_lc_*. I also moved the extern declaration of the actual data instances from <locale.h> to <_PDCLIB_int.h> where they are less confusing to the casual observer.

I am currently thinking in terms of _PDCLIB_load_lc() to load contents for the various locale-data structures from file. I do not like the idea of having raw filesystem access inside PDCLib, though… this needs some pondering.


With get-uctypes (the source of which is in the repo at auxiliary/uctype/), I now have a program to get character classification information (as required by <ctype.h> and, more importantly, <wctype.h>) directly from data files available from

The shepherd branch already had this functionality, but it was a) written in Python (which IMHO has no place in the source tree of a C library); b) including the raw data files which made them prone to getting outdated and required additional legalese added due to Unicode licensing; c) not giving correct results, and more importantly, not offering an easy way to test against the system library's results.

Now I have to provide a way to actually use the derived information in PDCLib proper.

pdclib/blog.txt · Last modified: 2018/07/02 12:00 by solar