Index: chars.c =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/chars.c,v retrieving revision 1.39 diff -u -r1.39 chars.c --- chars.c 30 Apr 2011 22:24:31 -0000 1.39 +++ chars.c 30 Apr 2011 22:31:11 -0000 @@ -20,6 +20,7 @@ #endif #include +#include #include #include #include @@ -148,12 +149,10 @@ return('\0'); i = atoi(p); - /* - * FIXME: - * This is wrong. Anything could be written here! - * This should be carefully screened for possible characters. - */ - return(i <= 0 || i > 255 ? '\0' : (char)i); + if (isalnum(i) || ispunct(i) || ' ' == (char)i) + return(i); + + return('\0'); }