Fixes for compile on non-Intel platforms.
This commit is contained in:
parent
4a73973f23
commit
a4b80d4495
|
@ -276,10 +276,14 @@ BOOLEAN WINAPI RtlDestroyHeap(
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* DbgPrint [NTDLL]
|
* DbgPrint [NTDLL]
|
||||||
*/
|
*/
|
||||||
void __cdecl DbgPrint(LPCSTR fmt,LPVOID args) {
|
void WINAPIV DbgPrint(LPCSTR fmt, ...) {
|
||||||
char buf[512];
|
char buf[512];
|
||||||
|
va_list args;
|
||||||
|
|
||||||
|
va_start(args, fmt);
|
||||||
|
wvsprintfA(buf,fmt, args);
|
||||||
|
va_end(args);
|
||||||
|
|
||||||
wvsprintfA(buf,fmt,&args);
|
|
||||||
MESSAGE("DbgPrint says: %s",buf);
|
MESSAGE("DbgPrint says: %s",buf);
|
||||||
/* hmm, raise exception? */
|
/* hmm, raise exception? */
|
||||||
}
|
}
|
||||||
|
|
|
@ -625,21 +625,6 @@ INT WINAPIV wsprintfW( LPWSTR buffer, LPCWSTR spec, ... )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
* wsnprintf16 (Not a Windows API)
|
|
||||||
*/
|
|
||||||
INT16 WINAPIV wsnprintf16( LPSTR buffer, UINT16 maxlen, LPCSTR spec, ... )
|
|
||||||
{
|
|
||||||
va_list valist;
|
|
||||||
INT16 res;
|
|
||||||
|
|
||||||
va_start( valist, spec );
|
|
||||||
res = wvsnprintf16( buffer, maxlen, spec, valist );
|
|
||||||
va_end( valist );
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* wsnprintfA (Not a Windows API)
|
* wsnprintfA (Not a Windows API)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1529,8 +1529,6 @@ LONG CALLBACK MCIMIDI_DriverProc(DWORD dwDevID, HDRVR hDriv, DWORD wMsg,
|
||||||
switch (wMsg) {
|
switch (wMsg) {
|
||||||
case DRV_LOAD: return 1;
|
case DRV_LOAD: return 1;
|
||||||
case DRV_FREE: return 1;
|
case DRV_FREE: return 1;
|
||||||
case DRV_OPEN: return MIDI_drvOpen((LPSTR)dwParam1, (LPMCI_OPEN_DRIVER_PARMSA)dwParam2);
|
|
||||||
case DRV_CLOSE: return MIDI_drvClose(dwDevID);
|
|
||||||
case DRV_ENABLE: return 1;
|
case DRV_ENABLE: return 1;
|
||||||
case DRV_DISABLE: return 1;
|
case DRV_DISABLE: return 1;
|
||||||
case DRV_QUERYCONFIGURE: return 1;
|
case DRV_QUERYCONFIGURE: return 1;
|
||||||
|
@ -1538,6 +1536,8 @@ LONG CALLBACK MCIMIDI_DriverProc(DWORD dwDevID, HDRVR hDriv, DWORD wMsg,
|
||||||
case DRV_INSTALL: return DRVCNF_RESTART;
|
case DRV_INSTALL: return DRVCNF_RESTART;
|
||||||
case DRV_REMOVE: return DRVCNF_RESTART;
|
case DRV_REMOVE: return DRVCNF_RESTART;
|
||||||
#ifdef SNDCTL_MIDI_INFO
|
#ifdef SNDCTL_MIDI_INFO
|
||||||
|
case DRV_OPEN: return MIDI_drvOpen((LPSTR)dwParam1, (LPMCI_OPEN_DRIVER_PARMSA)dwParam2);
|
||||||
|
case DRV_CLOSE: return MIDI_drvClose(dwDevID);
|
||||||
case MCI_OPEN_DRIVER: return MIDI_mciOpen (dwDevID, dwParam1, (LPMCI_OPEN_PARMSA) dwParam2);
|
case MCI_OPEN_DRIVER: return MIDI_mciOpen (dwDevID, dwParam1, (LPMCI_OPEN_PARMSA) dwParam2);
|
||||||
case MCI_CLOSE_DRIVER: return MIDI_mciClose (dwDevID, dwParam1, (LPMCI_GENERIC_PARMS) dwParam2);
|
case MCI_CLOSE_DRIVER: return MIDI_mciClose (dwDevID, dwParam1, (LPMCI_GENERIC_PARMS) dwParam2);
|
||||||
case MCI_PLAY: return MIDI_mciPlay (dwDevID, dwParam1, (LPMCI_PLAY_PARMS) dwParam2);
|
case MCI_PLAY: return MIDI_mciPlay (dwDevID, dwParam1, (LPMCI_PLAY_PARMS) dwParam2);
|
||||||
|
@ -1551,6 +1551,8 @@ LONG CALLBACK MCIMIDI_DriverProc(DWORD dwDevID, HDRVR hDriv, DWORD wMsg,
|
||||||
case MCI_INFO: return MIDI_mciInfo (dwDevID, dwParam1, (LPMCI_INFO_PARMSA) dwParam2);
|
case MCI_INFO: return MIDI_mciInfo (dwDevID, dwParam1, (LPMCI_INFO_PARMSA) dwParam2);
|
||||||
case MCI_SEEK: return MIDI_mciSeek (dwDevID, dwParam1, (LPMCI_SEEK_PARMS) dwParam2);
|
case MCI_SEEK: return MIDI_mciSeek (dwDevID, dwParam1, (LPMCI_SEEK_PARMS) dwParam2);
|
||||||
#else
|
#else
|
||||||
|
case DRV_OPEN: return 1;
|
||||||
|
case DRV_CLOSE: return 1;
|
||||||
case MCI_OPEN_DRIVER:
|
case MCI_OPEN_DRIVER:
|
||||||
case MCI_CLOSE_DRIVER:
|
case MCI_CLOSE_DRIVER:
|
||||||
case MCI_PLAY:
|
case MCI_PLAY:
|
||||||
|
|
|
@ -25,7 +25,7 @@ type win32
|
||||||
017 stub CsrSetPriorityClass
|
017 stub CsrSetPriorityClass
|
||||||
018 stub CsrpProcessCallbackRequest
|
018 stub CsrpProcessCallbackRequest
|
||||||
019 stub DbgBreakPoint
|
019 stub DbgBreakPoint
|
||||||
020 cdecl DbgPrint(str long) DbgPrint
|
020 varargs DbgPrint() DbgPrint
|
||||||
021 stub DbgPrompt
|
021 stub DbgPrompt
|
||||||
022 stub DbgSsHandleKmApiMsg
|
022 stub DbgSsHandleKmApiMsg
|
||||||
023 stub DbgSsInitialize
|
023 stub DbgSsInitialize
|
||||||
|
|
|
@ -25,17 +25,18 @@ char Underscore[] = "";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
char s_file_head_str[] =
|
char s_file_head_str[] =
|
||||||
"#\n"
|
"/* This file is generated with wrc version " WRC_FULLVERSION ". Do not edit! */\n"
|
||||||
"# This file is generated with wrc version " WRC_FULLVERSION ". Do not edit!\n"
|
"/* Source : %s */\n"
|
||||||
"# Source : %s\n"
|
"/* Cmdline: %s */\n"
|
||||||
"# Cmdline: %s\n"
|
"/* Date : %s */\n"
|
||||||
"# Date : %s"
|
"\n"
|
||||||
"#\n\n"
|
"\t.data\n"
|
||||||
"\t.data\n\n"
|
"\n"
|
||||||
;
|
;
|
||||||
|
|
||||||
char s_file_tail_str[] =
|
char s_file_tail_str[] =
|
||||||
"# <eof>\n\n"
|
"/* <eof> */\n"
|
||||||
|
"\n"
|
||||||
;
|
;
|
||||||
|
|
||||||
char s_file_autoreg_str[] =
|
char s_file_autoreg_str[] =
|
||||||
|
@ -575,7 +576,7 @@ void write_pe_segment(FILE *fp, resource_t *top)
|
||||||
/* Version */
|
/* Version */
|
||||||
fprintf(fp, "\t.long\t0\n"); /* FIXME: must version be filled out? */
|
fprintf(fp, "\t.long\t0\n"); /* FIXME: must version be filled out? */
|
||||||
/* # of id entries, # of name entries */
|
/* # of id entries, # of name entries */
|
||||||
fprintf(fp, "\t.short\t%d, %d\n", n_name_entries, n_id_entries);
|
fprintf(fp, "\t.word\t%d, %d\n", n_name_entries, n_id_entries);
|
||||||
|
|
||||||
/* Write the type level of the tree */
|
/* Write the type level of the tree */
|
||||||
for(i = 0; i < rccount; i++)
|
for(i = 0; i < rccount; i++)
|
||||||
|
@ -622,7 +623,7 @@ void write_pe_segment(FILE *fp, resource_t *top)
|
||||||
fprintf(fp, "\t.long\t0\n"); /* Flags */
|
fprintf(fp, "\t.long\t0\n"); /* Flags */
|
||||||
fprintf(fp, "\t.long\t0x%08lx\n", (long)now); /* TimeDate */
|
fprintf(fp, "\t.long\t0x%08lx\n", (long)now); /* TimeDate */
|
||||||
fprintf(fp, "\t.long\t0\n"); /* FIXME: must version be filled out? */
|
fprintf(fp, "\t.long\t0\n"); /* FIXME: must version be filled out? */
|
||||||
fprintf(fp, "\t.short\t%d, %d\n", rcp->n_name_entries, rcp->n_id_entries);
|
fprintf(fp, "\t.word\t%d, %d\n", rcp->n_name_entries, rcp->n_id_entries);
|
||||||
for(j = 0; j < rcp->count32; j++)
|
for(j = 0; j < rcp->count32; j++)
|
||||||
{
|
{
|
||||||
resource_t *rsc = rcp->rsc32array[j].rsc[0];
|
resource_t *rsc = rcp->rsc32array[j].rsc[0];
|
||||||
|
@ -676,7 +677,7 @@ void write_pe_segment(FILE *fp, resource_t *top)
|
||||||
fprintf(fp, "\t.long\t0\n"); /* Flags */
|
fprintf(fp, "\t.long\t0\n"); /* Flags */
|
||||||
fprintf(fp, "\t.long\t0x%08lx\n", (long)now); /* TimeDate */
|
fprintf(fp, "\t.long\t0x%08lx\n", (long)now); /* TimeDate */
|
||||||
fprintf(fp, "\t.long\t0\n"); /* FIXME: must version be filled out? */
|
fprintf(fp, "\t.long\t0\n"); /* FIXME: must version be filled out? */
|
||||||
fprintf(fp, "\t.short\t0, %d\n", r32cp->count);
|
fprintf(fp, "\t.word\t0, %d\n", r32cp->count);
|
||||||
|
|
||||||
for(k = 0; k < r32cp->count; k++)
|
for(k = 0; k < r32cp->count; k++)
|
||||||
{
|
{
|
||||||
|
@ -771,7 +772,7 @@ void write_ne_segment(FILE *fp, resource_t *top)
|
||||||
fprintf(fp, "\t.globl\t%s%s\n", prefix, _NEResTab);
|
fprintf(fp, "\t.globl\t%s%s\n", prefix, _NEResTab);
|
||||||
|
|
||||||
/* AlignmentShift */
|
/* AlignmentShift */
|
||||||
fprintf(fp, "\t.short\t%d\n", alignment_pwr);
|
fprintf(fp, "\t.word\t%d\n", alignment_pwr);
|
||||||
|
|
||||||
/* TypeInfo */
|
/* TypeInfo */
|
||||||
for(i = 0; i < rccount; i++)
|
for(i = 0; i < rccount; i++)
|
||||||
|
@ -780,15 +781,15 @@ void write_ne_segment(FILE *fp, resource_t *top)
|
||||||
|
|
||||||
/* TypeId */
|
/* TypeId */
|
||||||
if(rcp->type.type == name_ord)
|
if(rcp->type.type == name_ord)
|
||||||
fprintf(fp, "\t.short\t0x%04x\n", rcp->type.name.i_name | 0x8000);
|
fprintf(fp, "\t.word\t0x%04x\n", rcp->type.name.i_name | 0x8000);
|
||||||
else
|
else
|
||||||
fprintf(fp, "\t.short\t%s_%s_typename - %s%s\n",
|
fprintf(fp, "\t.word\t%s_%s_typename - %s%s\n",
|
||||||
prefix,
|
prefix,
|
||||||
rcp->type.name.s_name->str.cstr,
|
rcp->type.name.s_name->str.cstr,
|
||||||
prefix,
|
prefix,
|
||||||
_NEResTab);
|
_NEResTab);
|
||||||
/* ResourceCount */
|
/* ResourceCount */
|
||||||
fprintf(fp, "\t.short\t%d\n", rcp->count);
|
fprintf(fp, "\t.word\t%d\n", rcp->count);
|
||||||
/* Reserved */
|
/* Reserved */
|
||||||
fprintf(fp, "\t.long\t0\n");
|
fprintf(fp, "\t.long\t0\n");
|
||||||
/* NameInfo */
|
/* NameInfo */
|
||||||
|
@ -803,32 +804,32 @@ void write_ne_segment(FILE *fp, resource_t *top)
|
||||||
* All other things are as the MS doc describes (alignment etc.)
|
* All other things are as the MS doc describes (alignment etc.)
|
||||||
*/
|
*/
|
||||||
/* Offset */
|
/* Offset */
|
||||||
fprintf(fp, "\t.short\t(%s%s_data - %s%s) >> %d\n",
|
fprintf(fp, "\t.word\t(%s%s_data - %s%s) >> %d\n",
|
||||||
prefix,
|
prefix,
|
||||||
rcp->rscarray[j]->c_name,
|
rcp->rscarray[j]->c_name,
|
||||||
prefix,
|
prefix,
|
||||||
_NEResTab,
|
_NEResTab,
|
||||||
alignment_pwr);
|
alignment_pwr);
|
||||||
/* Length */
|
/* Length */
|
||||||
fprintf(fp, "\t.short\t%d\n",
|
fprintf(fp, "\t.word\t%d\n",
|
||||||
rcp->rscarray[j]->binres->size - rcp->rscarray[j]->binres->dataidx);
|
rcp->rscarray[j]->binres->size - rcp->rscarray[j]->binres->dataidx);
|
||||||
/* Flags */
|
/* Flags */
|
||||||
fprintf(fp, "\t.short\t0x%04x\n", (WORD)rcp->rscarray[j]->memopt);
|
fprintf(fp, "\t.word\t0x%04x\n", (WORD)rcp->rscarray[j]->memopt);
|
||||||
/* Id */
|
/* Id */
|
||||||
if(rcp->rscarray[j]->name->type == name_ord)
|
if(rcp->rscarray[j]->name->type == name_ord)
|
||||||
fprintf(fp, "\t.short\t0x%04x\n", rcp->rscarray[j]->name->name.i_name | 0x8000);
|
fprintf(fp, "\t.word\t0x%04x\n", rcp->rscarray[j]->name->name.i_name | 0x8000);
|
||||||
else
|
else
|
||||||
fprintf(fp, "\t.short\t%s%s_name - %s%s\n",
|
fprintf(fp, "\t.word\t%s%s_name - %s%s\n",
|
||||||
prefix,
|
prefix,
|
||||||
rcp->rscarray[j]->c_name,
|
rcp->rscarray[j]->c_name,
|
||||||
prefix,
|
prefix,
|
||||||
_NEResTab);
|
_NEResTab);
|
||||||
/* Handle and Usage */
|
/* Handle and Usage */
|
||||||
fprintf(fp, "\t.short\t0, 0\n");
|
fprintf(fp, "\t.word\t0, 0\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* EndTypes */
|
/* EndTypes */
|
||||||
fprintf(fp, "\t.short\t0\n");
|
fprintf(fp, "\t.word\t0\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -935,11 +936,18 @@ void write_s_file(char *outname, resource_t *top)
|
||||||
if(!fo)
|
if(!fo)
|
||||||
{
|
{
|
||||||
error("Could not open %s\n", outname);
|
error("Could not open %s\n", outname);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
now = time(NULL);
|
{
|
||||||
fprintf(fo, s_file_head_str, input_name ? input_name : "stdin",
|
char *s, *p;
|
||||||
cmdline, ctime(&now));
|
now = time(NULL);
|
||||||
|
s = ctime(&now);
|
||||||
|
p = strchr(s, '\n');
|
||||||
|
if(p) *p = '\0';
|
||||||
|
fprintf(fo, s_file_head_str, input_name ? input_name : "stdin",
|
||||||
|
cmdline, s);
|
||||||
|
}
|
||||||
|
|
||||||
/* Get an idea how many we have and restructure the tables */
|
/* Get an idea how many we have and restructure the tables */
|
||||||
count_resources(top);
|
count_resources(top);
|
||||||
|
@ -962,7 +970,7 @@ void write_s_file(char *outname, resource_t *top)
|
||||||
if(!indirect_only)
|
if(!indirect_only)
|
||||||
{
|
{
|
||||||
/* Write the resource data */
|
/* Write the resource data */
|
||||||
fprintf(fo, "#\n# Resource binary data\n#\n");
|
fprintf(fo, "\n/* Resource binary data */\n\n");
|
||||||
for(rsc = top; rsc; rsc = rsc->next)
|
for(rsc = top; rsc; rsc = rsc->next)
|
||||||
{
|
{
|
||||||
if(!rsc->binres)
|
if(!rsc->binres)
|
||||||
|
@ -1009,7 +1017,7 @@ void write_s_file(char *outname, resource_t *top)
|
||||||
if(indirect)
|
if(indirect)
|
||||||
{
|
{
|
||||||
/* Write the indirection structures */
|
/* Write the indirection structures */
|
||||||
fprintf(fo, "\n#\n# Resource indirection structures\n#\n");
|
fprintf(fo, "\n/* Resource indirection structures */\n\n");
|
||||||
fprintf(fo, "\t.align\t4\n");
|
fprintf(fo, "\t.align\t4\n");
|
||||||
for(rsc = top; rsc; rsc = rsc->next)
|
for(rsc = top; rsc; rsc = rsc->next)
|
||||||
{
|
{
|
||||||
|
@ -1074,7 +1082,7 @@ void write_s_file(char *outname, resource_t *top)
|
||||||
fprintf(fo, "\n");
|
fprintf(fo, "\n");
|
||||||
|
|
||||||
/* Write the indirection table */
|
/* Write the indirection table */
|
||||||
fprintf(fo, "#\n# Resource indirection table\n#\n");
|
fprintf(fo, "/* Resource indirection table */\n\n");
|
||||||
fprintf(fo, "\t.align\t4\n");
|
fprintf(fo, "\t.align\t4\n");
|
||||||
fprintf(fo, "%s%s:\n", prefix, _ResTable);
|
fprintf(fo, "%s%s:\n", prefix, _ResTable);
|
||||||
fprintf(fo, "\t.globl\t%s%s\n", prefix, _ResTable);
|
fprintf(fo, "\t.globl\t%s%s\n", prefix, _ResTable);
|
||||||
|
|
Loading…
Reference in New Issue