Branko ─îibej <br...@apache.org> writes:

> Would be better to generate this header at build time ... but to do that
> in a cross-platform manner, we'd have to write a C program to do that.

Even that is hard, I know of no easy way for C code to convert an error
number into a symbolic name.  Going from names to numbers would require
us to know, and hard-code, the names.

One way to convert numbers to names is to parse the C header, which on
my Linux system involves following several include directives to find
the underlying files:

  awk '/#define\sE.*[0-9]/{printf "{%s, \"%s\"},\n", $3, $2 }' \
    /usr/include/asm-generic/errno-base.h \
    /usr/include/asm-generic/errno.h

-- 
Philip

Reply via email to