Stop the (optional) dialong control data from being aligned when parsing/writing windows resource files.

binutils* resbin.c: Optional dialog control data immediately follow
	the control description without alignment.
	* testsuite/binutils-all/windres/controldata.rc: New test.
	source.
	* testsuite/binutils-all/windres/controldata.rsd: New test.
This commit is contained in:
Dmitry Timoshkov
2017-01-18 11:40:06 +00:00
committed by Nick Clifton
parent 01fabda4d4
commit 6bb21700ab
4 changed files with 34 additions and 5 deletions

View File

@@ -574,8 +574,6 @@ bin_to_res_dialog (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length
dc->data = NULL;
else
{
off = (off + 3) &~ 3;
if (length < off + datalen)
toosmall (_("dialog control data"));
@@ -1582,7 +1580,6 @@ res_to_bin_dialog (windres_bfd *wrbfd, rc_uint_type off, const rc_dialog *dialog
{
rc_uint_type saved_off = off;
rc_uint_type old_off;
off += (4 - ((off - off_delta) & 3)) & 3;
old_off = off;
off = res_to_bin_rcdata (wrbfd, off, dc->data);
@@ -1590,10 +1587,10 @@ res_to_bin_dialog (windres_bfd *wrbfd, rc_uint_type off, const rc_dialog *dialog
old_off = off = saved_off;
if (wrbfd)
windres_put_16 (wrbfd, dc_rclen, off - old_off);
}
}
if (wrbfd)
set_windres_bfd_content (wrbfd, dc_rclen, marker, 2);
}
}
if (wrbfd)
{