<P>
As most of you might be aware, I and Robert are progressing with a Start Menu.<BR>
<BR>
All the functionality is there now (except menu icons, and shell namespaces..).<BR>
<BR>
However, I had to write a .lnk parser for it and till date, I made it compatible ONLY with UTF-8 and thus did not require to use glibc's Unicode functions.<BR>
<BR>
Today, I was getting dirty with a full blown Unicode implementation and I noticed that GNU defines a wchar_t as an (unsigned long) - it's 4 bytes long, wheras a WCHAR (which is a typedefed wchar_t) is an (unsigned short) on Windows !<BR>
<BR>
As a result, Unicode strings on Windows are unsigned long arrays and thus I had to convert them into glibc's own wchar_t format using a hack like this:<BR>
<BR>
void ConvertWCHARTo_wchar_t(const WCHAR* wszIn,wchar_t* wszOut)<BR>
{<BR>
&nbsp; &nbsp; &nbsp;if(wszIn) while(*wszOut++=*wszIn++);<BR>
}<BR>
<BR>
and vice versa for the opposite conversion.<BR>
<BR>
Believe me, it works, but not always... (any body interested in debugging with the source, please ask me for it..)<BR>
<BR>
Any sugestions as to handle the situation please?<BR>
I need to use GLibc's Unicode functions and NOT WINE's implmentation of Mutibyte...(), because I want to keep the .lnk parser in pure C++<BR>
<BR>
Regards<BR>
<BR>
Subhobroto Sinha
</P>
<br><br>
<A target="_blank" HREF="http://clients.rediff.com/signature/track_sig.asp"><IMG SRC="http://ads.rediff.com/RealMedia/ads/adstream_nx.cgi/www.rediffmail.com/inbox.htm@Bottom" BORDER=0 VSPACE=0 HSPACE=0 HEIGHT=74 WIDTH=496></a>