Commit a4b80d44 authored by Patrik Stridvall's avatar Patrik Stridvall Committed by Alexandre Julliard

Fixes for compile on non-Intel platforms.

parent 4a73973f
...@@ -276,10 +276,14 @@ BOOLEAN WINAPI RtlDestroyHeap( ...@@ -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? */
} }
......
...@@ -626,21 +626,6 @@ INT WINAPIV wsprintfW( LPWSTR buffer, LPCWSTR spec, ... ) ...@@ -626,21 +626,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)
*/ */
INT WINAPIV wsnprintfA( LPSTR buffer, UINT maxlen, LPCSTR spec, ... ) INT WINAPIV wsnprintfA( LPSTR buffer, UINT maxlen, LPCSTR spec, ... )
......
...@@ -1529,8 +1529,6 @@ LONG CALLBACK MCIMIDI_DriverProc(DWORD dwDevID, HDRVR hDriv, DWORD wMsg, ...@@ -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, ...@@ -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, ...@@ -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 ...@@ -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[] = ""; ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment