fixed system error messages for FormatMessage()
Martin Fuchs
martin-fuchs at gmx.net
Fri Oct 18 20:56:24 CDT 2002
Changelog
Corrects the alignment of unicode message table strings in wmc, and switched
to unicode for message strings, so that FormatMessage() now works.
annotation:
wrc seems not to be completely clean, even with this fix:
It can only store unicode strings in message tables, even if wmc doesn't set
the UNICODE-Flag.
Index: Make.rules.in
===================================================================
RCS file: /home/wine/wine/Make.rules.in,v
retrieving revision 1.130
diff -u -r1.130 Make.rules.in
--- Make.rules.in 2 Oct 2002 02:34:09 -0000 1.130
+++ Make.rules.in 19 Oct 2002 01:45:27 -0000
@@ -117,7 +117,7 @@
$(AS) -o $@ $<
.mc.mc.rc:
- $(LDPATH) $(WMC) -i -H /dev/null -o $@ $<
+ $(LDPATH) $(WMC) -i -U -H /dev/null -o $@ $<
.rc.res:
$(LDPATH) $(WRC) $(WRCFLAGS) $(DIVINCL) -o $@ -r $<
Index: tools/wmc/write.c
===================================================================
RCS file: /home/wine/wine/tools/wmc/write.c,v
retrieving revision 1.5
diff -u -r1.5 write.c
--- tools/wmc/write.c 31 May 2002 23:41:00 -0000 1.5
+++ tools/wmc/write.c 19 Oct 2002 01:45:34 -0000
@@ -359,7 +359,10 @@
b = 0;
}
}
- len = (len + 3) & ~3;
+ if (unicodeout)
+ len = (len + 1) & ~1;
+ else
+ len = (len + 3) & ~3;
for(; i < len; i++)
{
*cptr++ = '\\';
@@ -467,7 +471,7 @@
cptr = make_string(blk->msgs[j]->msg, l, unicodeout ? 0 :
blk->msgs[j]->cp);
fprintf(fp, "\n /* Msg 0x%08x */ 0x%04x, 0x000%c,\n",
blk->idlo + j,
- (unicodeout ? (l*2+3)&~3 : (l+3)&~3)+4,
+ (unicodeout ? (l*2+3)&~3 : (l+3)&~3) + 4,
unicodeout ? '1' : '0');
fprintf(fp, "%s%s\n", cptr, comma);
free(cptr);
More information about the wine-patches
mailing list