On Wed, 2 Jun 2004, Gerrit P. Haase wrote:
> Hi Igor,
>
> > The line '0x00 0x0000 # NULL' (with or without whitespace between '#' and
> > 'NULL') appears in most of the mapping files (except roman.txt,
> > MacRoman.txt, and UTF-8.txt), not just cp125[012].txt -- just "grep NULL
> > *.txt". It doesn't seem to make much difference, but the three files you
> > listed above are in DOS (CRLF) format, roman.txt is in Mac (CR) format,
> > and the rest are in Unix (LF) format.
>
> > The error above can be reproduced by running "antiword -m <filename>",
> > where <filename> is a mapping file. FWIW, "antiword -m roman.txt"
> > produces gobs of errors. IIUC, the '#' should start a comment, so
> > whitespace differences after '#' shouldn't matter.
>
> The file roman.txt should only be needed for Mac systems where it hould
> work. Cygwin sees here no linebreaks at all.
Fair enough.
> > Incidentally, it used to be possible to specify the mapping file name
> > without the .txt at the end (e.g., "antiword -m cp1251"). It now seems
> > necessary to add the ".txt" to the filename.
>
> At least with cygwin 1.5.9 it seems that this is not possible:
> I can't open your mapping file (koi8-u)
>
> Seeing the relevant code it was never possible, however, I'm learning C
> right now and I patched the options.c file to enable this, I hope it
> works.
Well, IMO, the best place to patch this would be in chartrans.c, where
bReadCharacterMappingTable() tries to open the file (if it's NULL, try
adding ".txt" and opening that)...
> Everything works ok with cygwin-1.5.9. I'll try to recompile with
> 1.5.10 later, maybe that helps...
>
> Gerrit
Try the attached patch. FWIW, it seems like there's a bug here, but
sscanf used to mask it. Was there a change in the sscanf implementation
since 1.5.9?
Igor
--
http://cs.nyu.edu/~pechtcha/
|\ _,,,---,,_ [EMAIL PROTECTED]
ZZZzz /,`.-'`' -. ;-;;,_ [EMAIL PROTECTED]
|,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D.
'---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
"I have since come to realize that being between your mentor and his route
to the bathroom is a major career booster." -- Patrick Naughton
--- chartrans.c-orig 2003-06-27 11:23:30.000000000 -0400
+++ chartrans.c 2004-06-02 13:23:49.379348800 -0400
@@ -216,7 +216,7 @@ bReadCharacterMappingTable(const char *s
continue;
}
iFields = sscanf(szLine, "%x %lx %*s", &uiLocal, &ulUnicode);
- if (iFields != 2) {
+ if (iFields < 2) {
pcTmp = strchr(szLine, '\r');
if (pcTmp != NULL) {
*pcTmp = '\0';
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/