--- C:\FGCVS\tidy\src\entities.c Thu Sep 18 16:47:12 2008 +++ tidydev\src\entities.c Fri Mar 13 12:22:57 2009 @@ -366,16 +366,18 @@ if ( name[1] == '#' ) { uint c = 0; /* zero on missing/bad number */ - + int res; /* 'x' prefix denotes hexadecimal number format */ if ( name[2] == 'x' || (!isXml && name[2] == 'X') ) - sscanf( name+3, "%x", &c ); + res = sscanf( name+3, "%x", &c ); else - sscanf( name+2, "%u", &c ); - - *code = c; - *versions = VERS_ALL; - return yes; + res = sscanf( name+2, "%u", &c ); + if ( res != -1 ) + { + *code = c; + *versions = VERS_ALL; + return yes; + } } /* Named entity: name ="&" followed by a name */