Name: Miloslav Trmac
Member since: 2004-01-20 10:35:45
Last Login: 2008-05-08 21:09:32
Notes:
Currently a student and a part-time sysadmin at Faculty of Mathematics and Physics of Charles University in Prague.
I work mainly on localization of GNOME and Fedora Core to Czech. My past projects include the cereal Emulation Framewok and a quite large and functional UNIX clone.
7 Nov 2004 (updated 13 Nov 2004 at 19:56 UTC) »
I have seen one too many instances of checking strtol () results wrong, so, for the record:
Update: Sigh, two too many, a portable check for empty input added.
To convert const char *str to a long, properly checking for overflow, invalid trailing characters and empty input, it is necessary to do the following:
char *p; errno = 0; result = strtol(str, &p, base); if (errno != 0 || *p != 0 || p == str) error_handling ();
It is necessary to check both errno and *p; if you don't check errno, you get 0 for empty input and LONG_MAX or LONG_MIN for overflow or underflow. On empty input the return value is 0 and errno might be set to EINVAL; the portable way of checking for empty input is comparing p and str.
This will still accept strings that start with white space; check for !isspace((unsigned char)*str) if you want to reject them.
I hope that helps someone.
I was cleaning up cereal a bit and I contemplated replacing db2* (using openjade and DSSSL) with xmlto (using passivetex and XSLT). HTML generation went down from 6 s to 4 s, PDF generation up from 30 s to about 5 min.
Needless to say I'm staying with the DSSSL styles. At least I got a chance to fix some errors caught by the stricter XML parser used by xmlto.
Installed current CVS GNOME and checked the translations (which turned out to be mostly fine). New GNOME looks really good. I can't wait for FC 2 with Bluecurvized GNOME 2.6; my eyes are too accustomed to the theme, which makes the work with Simple a bit uncomfortable.
A new release of cereal after six months, again with virtually no code changes.
Hopefully it will make the one or two people trying to build cereal on Gentoo happy.
mitr certified others as follows:
Others have certified mitr as follows:
[ Certification disabled because you're not logged in. ]
FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!