mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
Alexandre Julliard <julliard@winehq.org>
- Added support for HTML resource type. Mike McCormack <mike@codeweavers.com> - gcc 4.0 -Wpointer-sign fixes. Stefan Huehner <stefan@huehner.org> - Fix some -Wsign-compare warnings. Jacek Caban <jack@itma.pwr.wroc.pl> - '.' is a valid char of tIDENT. Marcus Meissner <marcus@jet.franken.de> - Fixed signedness warnings. svn path=/trunk/; revision=17286
This commit is contained in:
parent
f5a7132861
commit
9664020ca4
13 changed files with 1864 additions and 1785 deletions
|
@ -78,13 +78,13 @@ const char *get_typename(const resource_t* r)
|
||||||
* Remarks : No codepage translation is done.
|
* Remarks : No codepage translation is done.
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
*/
|
*/
|
||||||
static char *strncpyWtoA(char *cs, WCHAR *ws, int maxlen)
|
static char *strncpyWtoA(char *cs, const WCHAR *ws, int maxlen)
|
||||||
{
|
{
|
||||||
char *cptr = cs;
|
char *cptr = cs;
|
||||||
WCHAR *wsMax = ws + maxlen - 1;
|
const WCHAR *wsMax = ws + maxlen - 1;
|
||||||
while(*ws && ws < wsMax)
|
while(*ws && ws < wsMax)
|
||||||
{
|
{
|
||||||
if((short)*ws < -128 || (short)*ws > 127)
|
if(*ws > 255)
|
||||||
fprintf(stderr, "***Warning: Unicode string contains non-printable chars***\n");
|
fprintf(stderr, "***Warning: Unicode string contains non-printable chars***\n");
|
||||||
*cptr++ = (char)*ws++;
|
*cptr++ = (char)*ws++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,7 +62,7 @@ res_t *new_res(void)
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
res_t *grow_res(res_t *r, int add)
|
res_t *grow_res(res_t *r, unsigned int add)
|
||||||
{
|
{
|
||||||
r->allocsize += add;
|
r->allocsize += add;
|
||||||
r->data = (char *)xrealloc(r->data, r->allocsize);
|
r->data = (char *)xrealloc(r->data, r->allocsize);
|
||||||
|
@ -416,7 +416,7 @@ static void put_lvc(res_t *res, lvc_t *lvc)
|
||||||
*/
|
*/
|
||||||
static void put_raw_data(res_t *res, raw_data_t *raw, int offset)
|
static void put_raw_data(res_t *res, raw_data_t *raw, int offset)
|
||||||
{
|
{
|
||||||
int wsize = raw->size - offset;
|
unsigned int wsize = raw->size - offset;
|
||||||
if(res->allocsize - res->size < wsize)
|
if(res->allocsize - res->size < wsize)
|
||||||
grow_res(res, wsize);
|
grow_res(res, wsize);
|
||||||
memcpy(&(res->data[res->size]), raw->data + offset, wsize);
|
memcpy(&(res->data[res->size]), raw->data + offset, wsize);
|
||||||
|
@ -1348,6 +1348,35 @@ static res_t *fontdir2res(name_id_t *name, fontdir_t *fnd)
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*****************************************************************************
|
||||||
|
* Function : html2res
|
||||||
|
* Syntax : res_t *html2res(name_id_t *name, html_t *html)
|
||||||
|
* Input :
|
||||||
|
* name - Name/ordinal of the resource
|
||||||
|
* rdt - The html descriptor
|
||||||
|
* Output : New .res format structure
|
||||||
|
* Description :
|
||||||
|
* Remarks :
|
||||||
|
*****************************************************************************
|
||||||
|
*/
|
||||||
|
static res_t *html2res(name_id_t *name, html_t *html)
|
||||||
|
{
|
||||||
|
int restag;
|
||||||
|
res_t *res;
|
||||||
|
assert(name != NULL);
|
||||||
|
assert(html != NULL);
|
||||||
|
|
||||||
|
res = new_res();
|
||||||
|
restag = put_res_header(res, WRC_RT_HTML, NULL, name, html->memopt, &(html->data->lvc));
|
||||||
|
put_raw_data(res, html->data, 0);
|
||||||
|
/* Set ResourceSize */
|
||||||
|
SetResSize(res, restag);
|
||||||
|
if(win32)
|
||||||
|
put_pad(res);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Function : rcdata2res
|
* Function : rcdata2res
|
||||||
|
@ -1941,6 +1970,10 @@ void resources2res(resource_t *top)
|
||||||
if(!top->binres)
|
if(!top->binres)
|
||||||
top->binres = menuex2res(top->name, top->res.menex);
|
top->binres = menuex2res(top->name, top->res.menex);
|
||||||
break;
|
break;
|
||||||
|
case res_html:
|
||||||
|
if(!top->binres)
|
||||||
|
top->binres = html2res(top->name, top->res.html);
|
||||||
|
break;
|
||||||
case res_rdt:
|
case res_rdt:
|
||||||
if(!top->binres)
|
if(!top->binres)
|
||||||
top->binres = rcdata2res(top->name, top->res.rdt);
|
top->binres = rcdata2res(top->name, top->res.rdt);
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
#include "wrctypes.h"
|
#include "wrctypes.h"
|
||||||
|
|
||||||
res_t *new_res(void);
|
res_t *new_res(void);
|
||||||
res_t *grow_res(res_t *r, int add);
|
res_t *grow_res(res_t *r, unsigned int add);
|
||||||
void put_byte(res_t *res, unsigned c);
|
void put_byte(res_t *res, unsigned c);
|
||||||
void put_word(res_t *res, unsigned w);
|
void put_word(res_t *res, unsigned w);
|
||||||
void put_dword(res_t *res, unsigned d);
|
void put_dword(res_t *res, unsigned d);
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -123,6 +123,20 @@ characts_t *dup_characts(characts_t *c)
|
||||||
return new_characts(*c);
|
return new_characts(*c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
html_t *new_html(raw_data_t *rd, int *memopt)
|
||||||
|
{
|
||||||
|
html_t *html = xmalloc(sizeof(html_t));
|
||||||
|
html->data = rd;
|
||||||
|
if(memopt)
|
||||||
|
{
|
||||||
|
html->memopt = *memopt;
|
||||||
|
free(memopt);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
html->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE;
|
||||||
|
return html;
|
||||||
|
}
|
||||||
|
|
||||||
rcdata_t *new_rcdata(raw_data_t *rd, int *memopt)
|
rcdata_t *new_rcdata(raw_data_t *rd, int *memopt)
|
||||||
{
|
{
|
||||||
rcdata_t *rc = (rcdata_t *)xmalloc(sizeof(rcdata_t));
|
rcdata_t *rc = (rcdata_t *)xmalloc(sizeof(rcdata_t));
|
||||||
|
|
|
@ -61,6 +61,7 @@ language_t *new_language(int id, int sub);
|
||||||
language_t *dup_language(language_t *l);
|
language_t *dup_language(language_t *l);
|
||||||
version_t *dup_version(version_t *v);
|
version_t *dup_version(version_t *v);
|
||||||
characts_t *dup_characts(characts_t *c);
|
characts_t *dup_characts(characts_t *c);
|
||||||
|
html_t *new_html(raw_data_t *rd, int *memopt);
|
||||||
rcdata_t *new_rcdata(raw_data_t *rd, int *memopt);
|
rcdata_t *new_rcdata(raw_data_t *rd, int *memopt);
|
||||||
font_id_t *new_font_id(int size, string_t *face, int weight, int italic);
|
font_id_t *new_font_id(int size, string_t *face, int weight, int italic);
|
||||||
user_t *new_user(name_id_t *type, raw_data_t *rd, int *memopt);
|
user_t *new_user(name_id_t *type, raw_data_t *rd, int *memopt);
|
||||||
|
@ -82,4 +83,3 @@ style_pair_t *new_style_pair(style_t *style, style_t *exstyle);
|
||||||
style_t *new_style(DWORD or_mask, DWORD and_mask);
|
style_t *new_style(DWORD or_mask, DWORD and_mask);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -204,6 +204,7 @@ static struct keyword keywords[] = {
|
||||||
{ "GRAYED", tGRAYED, 0, 0, 0},
|
{ "GRAYED", tGRAYED, 0, 0, 0},
|
||||||
{ "GROUPBOX", tGROUPBOX, 0, 0, 0},
|
{ "GROUPBOX", tGROUPBOX, 0, 0, 0},
|
||||||
{ "HELP", tHELP, 0, 0, 0},
|
{ "HELP", tHELP, 0, 0, 0},
|
||||||
|
{ "HTML", tHTML, 0, 0, 0},
|
||||||
{ "ICON", tICON, 0, 0, 0},
|
{ "ICON", tICON, 0, 0, 0},
|
||||||
{ "IMPURE", tIMPURE, 0, 0, 0},
|
{ "IMPURE", tIMPURE, 0, 0, 0},
|
||||||
{ "INACTIVE", tINACTIVE, 0, 0, 0},
|
{ "INACTIVE", tINACTIVE, 0, 0, 0},
|
||||||
|
@ -405,7 +406,7 @@ static struct keyword *iskeyword(char *kw)
|
||||||
* and *only* in a filename. In this case, the second
|
* and *only* in a filename. In this case, the second
|
||||||
* rule will be reduced because it is longer.
|
* rule will be reduced because it is longer.
|
||||||
*/
|
*/
|
||||||
[A-Za-z_0-9]+ {
|
[A-Za-z_0-9.]+ {
|
||||||
struct keyword *tok = iskeyword(yytext);
|
struct keyword *tok = iskeyword(yytext);
|
||||||
|
|
||||||
if(tok)
|
if(tok)
|
||||||
|
|
|
@ -251,6 +251,7 @@ static int rsrcid_to_token(int lookahead);
|
||||||
fontdir_t *fnd;
|
fontdir_t *fnd;
|
||||||
menu_t *men;
|
menu_t *men;
|
||||||
menuex_t *menex;
|
menuex_t *menex;
|
||||||
|
html_t *html;
|
||||||
rcdata_t *rdt;
|
rcdata_t *rdt;
|
||||||
stringtable_t *stt;
|
stringtable_t *stt;
|
||||||
stt_entry_t *stte;
|
stt_entry_t *stte;
|
||||||
|
@ -285,7 +286,7 @@ static int rsrcid_to_token(int lookahead);
|
||||||
%token <str> tSTRING tIDENT tFILENAME
|
%token <str> tSTRING tIDENT tFILENAME
|
||||||
%token <raw> tRAWDATA
|
%token <raw> tRAWDATA
|
||||||
%token tACCELERATORS tBITMAP tCURSOR tDIALOG tDIALOGEX tMENU tMENUEX tMESSAGETABLE
|
%token tACCELERATORS tBITMAP tCURSOR tDIALOG tDIALOGEX tMENU tMENUEX tMESSAGETABLE
|
||||||
%token tRCDATA tVERSIONINFO tSTRINGTABLE tFONT tFONTDIR tICON
|
%token tRCDATA tVERSIONINFO tSTRINGTABLE tFONT tFONTDIR tICON tHTML
|
||||||
%token tAUTO3STATE tAUTOCHECKBOX tAUTORADIOBUTTON tCHECKBOX tDEFPUSHBUTTON
|
%token tAUTO3STATE tAUTOCHECKBOX tAUTORADIOBUTTON tCHECKBOX tDEFPUSHBUTTON
|
||||||
%token tPUSHBUTTON tRADIOBUTTON tSTATE3 /* PUSHBOX */
|
%token tPUSHBUTTON tRADIOBUTTON tSTATE3 /* PUSHBOX */
|
||||||
%token tGROUPBOX tCOMBOBOX tLISTBOX tSCROLLBAR
|
%token tGROUPBOX tCOMBOBOX tLISTBOX tSCROLLBAR
|
||||||
|
@ -323,6 +324,7 @@ static int rsrcid_to_token(int lookahead);
|
||||||
%type <iptr> helpid
|
%type <iptr> helpid
|
||||||
%type <dlgex> dialogex dlgex_attribs
|
%type <dlgex> dialogex dlgex_attribs
|
||||||
%type <ctl> exctrls gen_exctrl lab_exctrl exctrl_desc
|
%type <ctl> exctrls gen_exctrl lab_exctrl exctrl_desc
|
||||||
|
%type <html> html
|
||||||
%type <rdt> rcdata
|
%type <rdt> rcdata
|
||||||
%type <raw> raw_data raw_elements opt_data file_raw
|
%type <raw> raw_data raw_elements opt_data file_raw
|
||||||
%type <veri> versioninfo fix_version
|
%type <veri> versioninfo fix_version
|
||||||
|
@ -644,6 +646,7 @@ resource_definition
|
||||||
$$ = NULL;
|
$$ = NULL;
|
||||||
}
|
}
|
||||||
| messagetable { $$ = new_resource(res_msg, $1, WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE, $1->data->lvc.language); }
|
| messagetable { $$ = new_resource(res_msg, $1, WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE, $1->data->lvc.language); }
|
||||||
|
| html { $$ = new_resource(res_html, $1, $1->memopt, $1->data->lvc.language); }
|
||||||
| rcdata { $$ = new_resource(res_rdt, $1, $1->memopt, $1->data->lvc.language); }
|
| rcdata { $$ = new_resource(res_rdt, $1, $1->memopt, $1->data->lvc.language); }
|
||||||
| toolbar { $$ = new_resource(res_toolbar, $1, $1->memopt, $1->lvc.language); }
|
| toolbar { $$ = new_resource(res_toolbar, $1, $1->memopt, $1->lvc.language); }
|
||||||
| userres { $$ = new_resource(res_usr, $1, $1->memopt, $1->data->lvc.language); }
|
| userres { $$ = new_resource(res_usr, $1, $1->memopt, $1->data->lvc.language); }
|
||||||
|
@ -724,6 +727,10 @@ messagetable
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
|
/* ------------------------------ HTML ------------------------------ */
|
||||||
|
html : tHTML loadmemopts file_raw { $$ = new_html($3, $2); }
|
||||||
|
;
|
||||||
|
|
||||||
/* ------------------------------ RCData ------------------------------ */
|
/* ------------------------------ RCData ------------------------------ */
|
||||||
rcdata : tRCDATA loadmemopts file_raw { $$ = new_rcdata($3, $2); }
|
rcdata : tRCDATA loadmemopts file_raw { $$ = new_rcdata($3, $2); }
|
||||||
;
|
;
|
||||||
|
@ -3017,6 +3024,10 @@ static int rsrcid_to_token(int lookahead)
|
||||||
type = "TOOLBAR";
|
type = "TOOLBAR";
|
||||||
token = tTOOLBAR;
|
token = tTOOLBAR;
|
||||||
break;
|
break;
|
||||||
|
case WRC_RT_HTML:
|
||||||
|
type = "HTML";
|
||||||
|
token = tHTML;
|
||||||
|
break;
|
||||||
|
|
||||||
case WRC_RT_STRING:
|
case WRC_RT_STRING:
|
||||||
type = "STRINGTABLE";
|
type = "STRINGTABLE";
|
||||||
|
@ -3032,7 +3043,6 @@ static int rsrcid_to_token(int lookahead)
|
||||||
case WRC_RT_DLGINCLUDE:
|
case WRC_RT_DLGINCLUDE:
|
||||||
case WRC_RT_PLUGPLAY:
|
case WRC_RT_PLUGPLAY:
|
||||||
case WRC_RT_VXD:
|
case WRC_RT_VXD:
|
||||||
case WRC_RT_HTML:
|
|
||||||
yywarning("Usertype uses reserved type ID %d, which is not supported by wrc yet", yylval.num);
|
yywarning("Usertype uses reserved type ID %d, which is not supported by wrc yet", yylval.num);
|
||||||
default:
|
default:
|
||||||
return lookahead;
|
return lookahead;
|
||||||
|
|
|
@ -232,7 +232,7 @@ static resource_t *read_res32(FILE *fp)
|
||||||
str = new_string();
|
str = new_string();
|
||||||
str->type = str_unicode;
|
str->type = str_unicode;
|
||||||
str->size = (idx - tag) / 2;
|
str->size = (idx - tag) / 2;
|
||||||
str->str.wstr = (WCHAR *)xmalloc(idx-tag+2);
|
str->str.wstr = xmalloc(idx-tag+2);
|
||||||
memcpy(str->str.wstr, &res->data[tag], idx-tag);
|
memcpy(str->str.wstr, &res->data[tag], idx-tag);
|
||||||
str->str.wstr[str->size] = 0;
|
str->str.wstr[str->size] = 0;
|
||||||
type = new_name_id();
|
type = new_name_id();
|
||||||
|
@ -266,7 +266,7 @@ static resource_t *read_res32(FILE *fp)
|
||||||
str = new_string();
|
str = new_string();
|
||||||
str->type = str_unicode;
|
str->type = str_unicode;
|
||||||
str->size = (idx - tag) / 2;
|
str->size = (idx - tag) / 2;
|
||||||
str->str.wstr = (WCHAR *)xmalloc(idx-tag+2);
|
str->str.wstr = xmalloc(idx-tag+2);
|
||||||
memcpy(str->str.wstr, &res->data[tag], idx-tag);
|
memcpy(str->str.wstr, &res->data[tag], idx-tag);
|
||||||
str->str.wstr[str->size] = 0;
|
str->str.wstr[str->size] = 0;
|
||||||
name = new_name_id();
|
name = new_name_id();
|
||||||
|
|
|
@ -87,10 +87,10 @@
|
||||||
#define RES_BLOCKSIZE 512
|
#define RES_BLOCKSIZE 512
|
||||||
|
|
||||||
typedef struct res {
|
typedef struct res {
|
||||||
int allocsize; /* Allocated datablock size */
|
unsigned int allocsize; /* Allocated datablock size */
|
||||||
int size; /* Actual size of data */
|
unsigned int size; /* Actual size of data */
|
||||||
int dataidx; /* Tag behind the resource-header */
|
unsigned int dataidx; /* Tag behind the resource-header */
|
||||||
char *data;
|
char *data;
|
||||||
} res_t;
|
} res_t;
|
||||||
|
|
||||||
/* Resource strings are slightly more complex because they include '\0' */
|
/* Resource strings are slightly more complex because they include '\0' */
|
||||||
|
@ -441,6 +441,11 @@ typedef struct bitmap {
|
||||||
raw_data_t *data;
|
raw_data_t *data;
|
||||||
} bitmap_t;
|
} bitmap_t;
|
||||||
|
|
||||||
|
typedef struct html {
|
||||||
|
DWORD memopt;
|
||||||
|
raw_data_t *data;
|
||||||
|
} html_t;
|
||||||
|
|
||||||
typedef struct rcdata {
|
typedef struct rcdata {
|
||||||
DWORD memopt;
|
DWORD memopt;
|
||||||
raw_data_t *data;
|
raw_data_t *data;
|
||||||
|
@ -615,6 +620,7 @@ typedef struct resource {
|
||||||
menu_t *men;
|
menu_t *men;
|
||||||
menuex_t *menex;
|
menuex_t *menex;
|
||||||
messagetable_t *msg;
|
messagetable_t *msg;
|
||||||
|
html_t *html;
|
||||||
rcdata_t *rdt;
|
rcdata_t *rdt;
|
||||||
stringtable_t *stt;
|
stringtable_t *stt;
|
||||||
toolbar_t *tbt;
|
toolbar_t *tbt;
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
void write_resfile(char *outname, resource_t *top)
|
void write_resfile(char *outname, resource_t *top)
|
||||||
{
|
{
|
||||||
FILE *fo;
|
FILE *fo;
|
||||||
int ret;
|
unsigned int ret;
|
||||||
char zeros[3] = {0, 0, 0};
|
char zeros[3] = {0, 0, 0};
|
||||||
|
|
||||||
fo = fopen(outname, "wb");
|
fo = fopen(outname, "wb");
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -50,67 +50,68 @@
|
||||||
tFONT = 276,
|
tFONT = 276,
|
||||||
tFONTDIR = 277,
|
tFONTDIR = 277,
|
||||||
tICON = 278,
|
tICON = 278,
|
||||||
tAUTO3STATE = 279,
|
tHTML = 279,
|
||||||
tAUTOCHECKBOX = 280,
|
tAUTO3STATE = 280,
|
||||||
tAUTORADIOBUTTON = 281,
|
tAUTOCHECKBOX = 281,
|
||||||
tCHECKBOX = 282,
|
tAUTORADIOBUTTON = 282,
|
||||||
tDEFPUSHBUTTON = 283,
|
tCHECKBOX = 283,
|
||||||
tPUSHBUTTON = 284,
|
tDEFPUSHBUTTON = 284,
|
||||||
tRADIOBUTTON = 285,
|
tPUSHBUTTON = 285,
|
||||||
tSTATE3 = 286,
|
tRADIOBUTTON = 286,
|
||||||
tGROUPBOX = 287,
|
tSTATE3 = 287,
|
||||||
tCOMBOBOX = 288,
|
tGROUPBOX = 288,
|
||||||
tLISTBOX = 289,
|
tCOMBOBOX = 289,
|
||||||
tSCROLLBAR = 290,
|
tLISTBOX = 290,
|
||||||
tCONTROL = 291,
|
tSCROLLBAR = 291,
|
||||||
tEDITTEXT = 292,
|
tCONTROL = 292,
|
||||||
tRTEXT = 293,
|
tEDITTEXT = 293,
|
||||||
tCTEXT = 294,
|
tRTEXT = 294,
|
||||||
tLTEXT = 295,
|
tCTEXT = 295,
|
||||||
tBLOCK = 296,
|
tLTEXT = 296,
|
||||||
tVALUE = 297,
|
tBLOCK = 297,
|
||||||
tSHIFT = 298,
|
tVALUE = 298,
|
||||||
tALT = 299,
|
tSHIFT = 299,
|
||||||
tASCII = 300,
|
tALT = 300,
|
||||||
tVIRTKEY = 301,
|
tASCII = 301,
|
||||||
tGRAYED = 302,
|
tVIRTKEY = 302,
|
||||||
tCHECKED = 303,
|
tGRAYED = 303,
|
||||||
tINACTIVE = 304,
|
tCHECKED = 304,
|
||||||
tNOINVERT = 305,
|
tINACTIVE = 305,
|
||||||
tPURE = 306,
|
tNOINVERT = 306,
|
||||||
tIMPURE = 307,
|
tPURE = 307,
|
||||||
tDISCARDABLE = 308,
|
tIMPURE = 308,
|
||||||
tLOADONCALL = 309,
|
tDISCARDABLE = 309,
|
||||||
tPRELOAD = 310,
|
tLOADONCALL = 310,
|
||||||
tFIXED = 311,
|
tPRELOAD = 311,
|
||||||
tMOVEABLE = 312,
|
tFIXED = 312,
|
||||||
tCLASS = 313,
|
tMOVEABLE = 313,
|
||||||
tCAPTION = 314,
|
tCLASS = 314,
|
||||||
tCHARACTERISTICS = 315,
|
tCAPTION = 315,
|
||||||
tEXSTYLE = 316,
|
tCHARACTERISTICS = 316,
|
||||||
tSTYLE = 317,
|
tEXSTYLE = 317,
|
||||||
tVERSION = 318,
|
tSTYLE = 318,
|
||||||
tLANGUAGE = 319,
|
tVERSION = 319,
|
||||||
tFILEVERSION = 320,
|
tLANGUAGE = 320,
|
||||||
tPRODUCTVERSION = 321,
|
tFILEVERSION = 321,
|
||||||
tFILEFLAGSMASK = 322,
|
tPRODUCTVERSION = 322,
|
||||||
tFILEOS = 323,
|
tFILEFLAGSMASK = 323,
|
||||||
tFILETYPE = 324,
|
tFILEOS = 324,
|
||||||
tFILEFLAGS = 325,
|
tFILETYPE = 325,
|
||||||
tFILESUBTYPE = 326,
|
tFILEFLAGS = 326,
|
||||||
tMENUBARBREAK = 327,
|
tFILESUBTYPE = 327,
|
||||||
tMENUBREAK = 328,
|
tMENUBARBREAK = 328,
|
||||||
tMENUITEM = 329,
|
tMENUBREAK = 329,
|
||||||
tPOPUP = 330,
|
tMENUITEM = 330,
|
||||||
tSEPARATOR = 331,
|
tPOPUP = 331,
|
||||||
tHELP = 332,
|
tSEPARATOR = 332,
|
||||||
tTOOLBAR = 333,
|
tHELP = 333,
|
||||||
tBUTTON = 334,
|
tTOOLBAR = 334,
|
||||||
tBEGIN = 335,
|
tBUTTON = 335,
|
||||||
tEND = 336,
|
tBEGIN = 336,
|
||||||
tDLGINIT = 337,
|
tEND = 337,
|
||||||
tNOT = 338,
|
tDLGINIT = 338,
|
||||||
pUPM = 339
|
tNOT = 339,
|
||||||
|
pUPM = 340
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
#define tNL 258
|
#define tNL 258
|
||||||
|
@ -134,73 +135,74 @@
|
||||||
#define tFONT 276
|
#define tFONT 276
|
||||||
#define tFONTDIR 277
|
#define tFONTDIR 277
|
||||||
#define tICON 278
|
#define tICON 278
|
||||||
#define tAUTO3STATE 279
|
#define tHTML 279
|
||||||
#define tAUTOCHECKBOX 280
|
#define tAUTO3STATE 280
|
||||||
#define tAUTORADIOBUTTON 281
|
#define tAUTOCHECKBOX 281
|
||||||
#define tCHECKBOX 282
|
#define tAUTORADIOBUTTON 282
|
||||||
#define tDEFPUSHBUTTON 283
|
#define tCHECKBOX 283
|
||||||
#define tPUSHBUTTON 284
|
#define tDEFPUSHBUTTON 284
|
||||||
#define tRADIOBUTTON 285
|
#define tPUSHBUTTON 285
|
||||||
#define tSTATE3 286
|
#define tRADIOBUTTON 286
|
||||||
#define tGROUPBOX 287
|
#define tSTATE3 287
|
||||||
#define tCOMBOBOX 288
|
#define tGROUPBOX 288
|
||||||
#define tLISTBOX 289
|
#define tCOMBOBOX 289
|
||||||
#define tSCROLLBAR 290
|
#define tLISTBOX 290
|
||||||
#define tCONTROL 291
|
#define tSCROLLBAR 291
|
||||||
#define tEDITTEXT 292
|
#define tCONTROL 292
|
||||||
#define tRTEXT 293
|
#define tEDITTEXT 293
|
||||||
#define tCTEXT 294
|
#define tRTEXT 294
|
||||||
#define tLTEXT 295
|
#define tCTEXT 295
|
||||||
#define tBLOCK 296
|
#define tLTEXT 296
|
||||||
#define tVALUE 297
|
#define tBLOCK 297
|
||||||
#define tSHIFT 298
|
#define tVALUE 298
|
||||||
#define tALT 299
|
#define tSHIFT 299
|
||||||
#define tASCII 300
|
#define tALT 300
|
||||||
#define tVIRTKEY 301
|
#define tASCII 301
|
||||||
#define tGRAYED 302
|
#define tVIRTKEY 302
|
||||||
#define tCHECKED 303
|
#define tGRAYED 303
|
||||||
#define tINACTIVE 304
|
#define tCHECKED 304
|
||||||
#define tNOINVERT 305
|
#define tINACTIVE 305
|
||||||
#define tPURE 306
|
#define tNOINVERT 306
|
||||||
#define tIMPURE 307
|
#define tPURE 307
|
||||||
#define tDISCARDABLE 308
|
#define tIMPURE 308
|
||||||
#define tLOADONCALL 309
|
#define tDISCARDABLE 309
|
||||||
#define tPRELOAD 310
|
#define tLOADONCALL 310
|
||||||
#define tFIXED 311
|
#define tPRELOAD 311
|
||||||
#define tMOVEABLE 312
|
#define tFIXED 312
|
||||||
#define tCLASS 313
|
#define tMOVEABLE 313
|
||||||
#define tCAPTION 314
|
#define tCLASS 314
|
||||||
#define tCHARACTERISTICS 315
|
#define tCAPTION 315
|
||||||
#define tEXSTYLE 316
|
#define tCHARACTERISTICS 316
|
||||||
#define tSTYLE 317
|
#define tEXSTYLE 317
|
||||||
#define tVERSION 318
|
#define tSTYLE 318
|
||||||
#define tLANGUAGE 319
|
#define tVERSION 319
|
||||||
#define tFILEVERSION 320
|
#define tLANGUAGE 320
|
||||||
#define tPRODUCTVERSION 321
|
#define tFILEVERSION 321
|
||||||
#define tFILEFLAGSMASK 322
|
#define tPRODUCTVERSION 322
|
||||||
#define tFILEOS 323
|
#define tFILEFLAGSMASK 323
|
||||||
#define tFILETYPE 324
|
#define tFILEOS 324
|
||||||
#define tFILEFLAGS 325
|
#define tFILETYPE 325
|
||||||
#define tFILESUBTYPE 326
|
#define tFILEFLAGS 326
|
||||||
#define tMENUBARBREAK 327
|
#define tFILESUBTYPE 327
|
||||||
#define tMENUBREAK 328
|
#define tMENUBARBREAK 328
|
||||||
#define tMENUITEM 329
|
#define tMENUBREAK 329
|
||||||
#define tPOPUP 330
|
#define tMENUITEM 330
|
||||||
#define tSEPARATOR 331
|
#define tPOPUP 331
|
||||||
#define tHELP 332
|
#define tSEPARATOR 332
|
||||||
#define tTOOLBAR 333
|
#define tHELP 333
|
||||||
#define tBUTTON 334
|
#define tTOOLBAR 334
|
||||||
#define tBEGIN 335
|
#define tBUTTON 335
|
||||||
#define tEND 336
|
#define tBEGIN 336
|
||||||
#define tDLGINIT 337
|
#define tEND 337
|
||||||
#define tNOT 338
|
#define tDLGINIT 338
|
||||||
#define pUPM 339
|
#define tNOT 339
|
||||||
|
#define pUPM 340
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
|
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
|
||||||
#line 240 "parser.y"
|
#line 240 "./parser.y"
|
||||||
typedef union YYSTYPE {
|
typedef union YYSTYPE {
|
||||||
string_t *str;
|
string_t *str;
|
||||||
int num;
|
int num;
|
||||||
|
@ -215,6 +217,7 @@ typedef union YYSTYPE {
|
||||||
fontdir_t *fnd;
|
fontdir_t *fnd;
|
||||||
menu_t *men;
|
menu_t *men;
|
||||||
menuex_t *menex;
|
menuex_t *menex;
|
||||||
|
html_t *html;
|
||||||
rcdata_t *rdt;
|
rcdata_t *rdt;
|
||||||
stringtable_t *stt;
|
stringtable_t *stt;
|
||||||
stt_entry_t *stte;
|
stt_entry_t *stte;
|
||||||
|
@ -244,7 +247,7 @@ typedef union YYSTYPE {
|
||||||
ani_any_t *ani;
|
ani_any_t *ani;
|
||||||
} YYSTYPE;
|
} YYSTYPE;
|
||||||
/* Line 1275 of yacc.c. */
|
/* Line 1275 of yacc.c. */
|
||||||
#line 248 "parser.tab.h"
|
#line 251 "y.tab.h"
|
||||||
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
||||||
# define YYSTYPE_IS_DECLARED 1
|
# define YYSTYPE_IS_DECLARED 1
|
||||||
# define YYSTYPE_IS_TRIVIAL 1
|
# define YYSTYPE_IS_TRIVIAL 1
|
||||||
|
|
Loading…
Reference in a new issue