diff options
author | Nick Clifton <nickc@redhat.com> | 2011-10-11 15:56:29 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2011-10-11 15:56:29 +0000 |
commit | bfb6c1ab1ed502faa7c3764722a1f1661f6d44e8 (patch) | |
tree | 1d8de29dde516f5b030ce2a485fa33e458477bd5 /binutils/windint.h | |
parent | 941b2081b1fd085fff7d323448672cedf18258db (diff) | |
download | gdb-bfb6c1ab1ed502faa7c3764722a1f1661f6d44e8.zip gdb-bfb6c1ab1ed502faa7c3764722a1f1661f6d44e8.tar.gz gdb-bfb6c1ab1ed502faa7c3764722a1f1661f6d44e8.tar.bz2 |
PR binutils/13051
Fix a syntax error bug when compiling rc files with the VERSIONINFO resource
containing more than one language block inside a single StringFileInfo block.
* windint.h (rc_ver_stringtable): New structure definition.
(rc_ver_info): Use it.
* rcparse.y (verstringtable): New variable.
(verstringtables): New type.
(verstringtables:): New rule declaration.
(verblocks:): Use it.
* resrc.c (append_ver_stringtable): New function.
(append_ver_stringfileinfo): Update to use stringtables.
* windres.h (append_ver_stringfileinfo): Update declaration.
(append_ver_stringtable): New declaration.
* resrc.c (write_rc_versioninfo): Update to support multiple blocks.
* resbin.c (bin_to_res_version): Likewise.
(res_to_bin_versioninfo): Likewise.
* binutils-all\windres\version.rsd: Regenerate.
* binutils-all\windres\version_cat.rsd: Regenerate.
* binutils-all\windres\version_mlang.rc: Add new test.
* binutils-all\windres\version_mlang.rsd: Likewise.
Diffstat (limited to 'binutils/windint.h')
-rw-r--r-- | binutils/windint.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/binutils/windint.h b/binutils/windint.h index eed8f79..0a75899 100644 --- a/binutils/windint.h +++ b/binutils/windint.h @@ -944,6 +944,18 @@ struct __attribute__ ((__packed__)) bin_fixed_versioninfo }; #define BIN_FIXED_VERSIONINFO_SIZE 52 +/* A list of string version information. */ + +typedef struct rc_ver_stringtable +{ + /* Next item. */ + struct rc_ver_stringtable *next; + /* Language. */ + unichar *language; + /* Strings. */ + struct rc_ver_stringinfo *strings; +} rc_ver_stringtable; + /* A list of variable version information. */ typedef struct rc_ver_info @@ -957,10 +969,8 @@ typedef struct rc_ver_info /* StringFileInfo data. */ struct { - /* Language. */ - unichar *language; - /* Strings. */ - struct rc_ver_stringinfo *strings; + /* String tables. */ + struct rc_ver_stringtable *stringtables; } string; /* VarFileInfo data. */ struct |