Re: 0.7.12 for Monday?


Subject: Re: 0.7.12 for Monday?
From: Mike Nordell (tamlin@algonet.se)
Date: Thu Nov 09 2000 - 14:43:27 CST


OK, I've now had a look at the latest nightly src for Win32 (09 nov).

Some minor points first. I got some warnings about doubles being cast to
float, some integer type (signed unsigned) mismatches and so on. Not too
much you might think, but these are unnecessary and potentially hides real
problems.

I don't remember if wv gave me all this hazzle earlier, but it dumped quite
a bunch of warnings during build.

Some win32 files tried to include ap_xxx but the file had been renamed to
xap_xxx (or was that the other way around?). I'd commit the fixes myself if
I only rememberev which files had this problem, and had the time to do it.
I'll see if I get the time to check it out before closing this post.

Now to the meat.
Immediately I got an assert followed just moments later by a crash. The
assert in UT_Mbtowc default constructor triggered. Is this really a terminal
error that validates an assert? If it is, it displays a serious bug in
iconv, since iconv apparently don't know how to convert to 8859-1 (like, the
most used charset on this planet). Wierd. (yes, I also used the wv snapshot)

Now I've been away a while from Abi dev so I can't really tell what the fix
is, but I'd expect it to be something known by now.

UT_Wctomb gets constructed in
XAP_DiskStringSet::setValue(XAP_String_Id id, const XML_Char * szString)

and it is called by XML_Parse. What makes me think something is wrong is
that the source charset is ASCII, that gets converted into an UT_GrowBuf
(UCS-2?), only to be converted back to 8859-1, which apparently iconv
doesn't know how to do!

Wouldn't it be nice if there was a setValueFromAscii() or something like
that in XAP_DiskStringSet, since it's setValue() in this class that performs
these really unecessary conversions?

Also, in the free function iconv(), wouldn't it be better if its first
iconv_t was put through a sanity check before trying to use it as a function
pointer. I don't thing addres -1 is a legal function address on many
platforms. :-) (yes, I've seen it happen just now, since UT_Wctomb c'tor
failed)

Well, until I get these things sorted out, I'm afraid I can't give some more
info about the less serious problems for Win32 (like spell).

/Mike



This archive was generated by hypermail 2b25 : Thu Nov 09 2000 - 14:42:06 CST