Skip to content
Snippets Groups Projects
Commit 3781d0d6 authored by Bertho Stultiens's avatar Bertho Stultiens Committed by Alexandre Julliard
Browse files

Generated labels of resource names must be unique throughout the

generated code.
parent 98c5cd6f
No related branches found
No related tags found
No related merge requests found
---------------------------------------------------------------------------
Version 1.0.18 (28-Dec-1999)
Bertho Stultiens <bertho@akhphd.au.dk>
- Bugfix: The named resources were not named correctly for indirectly
addressable resources, which resulted in an undefined variable. The
previous fix was incomplete (I was probably sleeping while I made it).
---------------------------------------------------------------------------
Version 1.0.17 (20-Dec-1999)
Bertho Stultiens <bertho@akhphd.au.dk>
- Bugfix: Named resources of different types generated the same assembly-
label twice, resulting in a compile failure.
---------------------------------------------------------------------------
Version 1.0.16 (6-Nov-1999)
......
......@@ -12,8 +12,8 @@
#include "wrctypes.h"
#endif
#define WRC_VERSION "1.0.16"
#define WRC_RELEASEDATE "(6-Nov-1999)"
#define WRC_VERSION "1.0.18"
#define WRC_RELEASEDATE "(28-Dec-1999)"
#define WRC_FULLVERSION WRC_VERSION " " WRC_RELEASEDATE
/* Only used in heavy debugging sessions */
......
......@@ -633,10 +633,9 @@ void write_pe_segment(FILE *fp, resource_t *top)
fprintf(fp, "\t.long\t%d\n", rsc->name->name.i_name);
else
{
char *label = prep_nid_for_label(rsc->name);
fprintf(fp, "\t.long\t(%s_%s_name - %s%s) | 0x80000000\n",
fprintf(fp, "\t.long\t(%s%s_name - %s%s) | 0x80000000\n",
prefix,
label,
rsc->c_name,
prefix,
_PEResTab);
}
......@@ -872,10 +871,9 @@ void write_rsc_names(FILE *fp, resource_t *top)
if(rsc->name->type == name_str)
{
char *name = prep_nid_for_label(rsc->name);
fprintf(fp, "%s_%s_name:\n",
fprintf(fp, "%s%s_name:\n",
prefix,
name);
rsc->c_name);
write_name_str(fp, rsc->name);
}
}
......@@ -1024,7 +1022,6 @@ void write_s_file(char *outname, resource_t *top)
{
int type;
char *type_name = NULL;
char *label;
if(!rsc->binres)
continue;
......@@ -1063,12 +1060,10 @@ void write_s_file(char *outname, resource_t *top)
fprintf(fo, "%s%s:\n", prefix, rsc->c_name);
if(global)
fprintf(fo, "\t.globl\t%s%s\n", prefix, rsc->c_name);
label = prep_nid_for_label(rsc->name);
fprintf(fo, "\t.long\t%d, %s%s%s%s, %d, %s%s%s%s, %s%s_data, %d\n",
fprintf(fo, "\t.long\t%d, %s%s%s, %d, %s%s%s%s, %s%s_data, %d\n",
rsc->name->type == name_ord ? rsc->name->name.i_name : 0,
rsc->name->type == name_ord ? "0" : prefix,
rsc->name->type == name_ord ? "" : "_",
rsc->name->type == name_ord ? "" : label,
rsc->name->type == name_ord ? "" : rsc->c_name,
rsc->name->type == name_ord ? "" : "_name",
type,
type ? "0" : prefix,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment