aboutsummaryrefslogtreecommitdiff
path: root/binutils/windint.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2011-10-11 15:56:29 +0000
committerNick Clifton <nickc@redhat.com>2011-10-11 15:56:29 +0000
commitbfb6c1ab1ed502faa7c3764722a1f1661f6d44e8 (patch)
tree1d8de29dde516f5b030ce2a485fa33e458477bd5 /binutils/windint.h
parent941b2081b1fd085fff7d323448672cedf18258db (diff)
downloadgdb-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.h18
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