This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
[PATCH] windres (ungarbled): (3) don't print empty CAPTION when decompiling
- From: Gunnar Degnbol <gunnar at danbbs dot dk>
- To: binutils at sources dot redhat dot com
- Date: Wed, 20 Mar 2002 00:23:46 +0100
- Subject: [PATCH] windres (ungarbled): (3) don't print empty CAPTION when decompiling
dialog->caption is always initialized, even if there is no
caption. This is wrong if it is supposed to be possible to
compile the decompiled file to the same resource as the
original, since CAPTION sets the WS_CAPTION style (with
previously posted patch or with rc.exe).
The patch sets dialog->caption to NULL if the length is 0.
ChangeLog:
2002-03-19 Gunnar Degnbol <degnbol@danbbs.dk>
* resbin.c: Don't print empty dialog caption
nocaption.rc:
101 DIALOG DISCARDABLE 0, 0, 186, 95
BEGIN
DEFPUSHBUTTON "OK",1,129,7,50,14
END
Before patch:
$ /bin/windres.exe -i nocaption.rc -o nocaption.o
$ /bin/windres.exe -i nocaption.o
LANGUAGE 0, 0
101 DIALOG 0, 0, 186, 95
STYLE 0x80880000
CAPTION ""
BEGIN
DEFPUSHBUTTON "OK", 1, 129, 7, 50, 14, 0x50010001
END
After patch:
$ windres.exe -i nocaption.o
LANGUAGE 0, 0
101 DIALOG 0, 0, 186, 95
STYLE 0x80880000
BEGIN
DEFPUSHBUTTON "OK", 1, 129, 7, 50, 14, 0x50010001
END
nocaption.patch:
--- binutils/resbin.c Sun Mar 17 14:46:43 2002
+++ binutils.new/resbin.c Sun Mar 17 14:46:54 2002
@@ -514,6 +514,8 @@
d->caption = get_unicode (data + off, length - off, big_endian, &sublen);
off += sublen * 2 + 2;
+ if (sublen == 0)
+ d->caption = NULL;
if ((d->style & DS_SETFONT) == 0)
{