diff --git a/dlls/ntdll/rtl.c b/dlls/ntdll/rtl.c index f31d046fd2c..33db5139207 100644 --- a/dlls/ntdll/rtl.c +++ b/dlls/ntdll/rtl.c @@ -276,10 +276,14 @@ BOOLEAN WINAPI RtlDestroyHeap( /****************************************************************************** * DbgPrint [NTDLL] */ -void __cdecl DbgPrint(LPCSTR fmt,LPVOID args) { +void WINAPIV DbgPrint(LPCSTR fmt, ...) { 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); /* hmm, raise exception? */ } diff --git a/misc/wsprintf.c b/misc/wsprintf.c index 9e5506be6bb..96f1efb7d45 100644 --- a/misc/wsprintf.c +++ b/misc/wsprintf.c @@ -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) */ diff --git a/multimedia/mcimidi.c b/multimedia/mcimidi.c index 07bba52cf04..2171ba5409d 100644 --- a/multimedia/mcimidi.c +++ b/multimedia/mcimidi.c @@ -1529,8 +1529,6 @@ LONG CALLBACK MCIMIDI_DriverProc(DWORD dwDevID, HDRVR hDriv, DWORD wMsg, switch (wMsg) { case DRV_LOAD: 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_DISABLE: 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_REMOVE: return DRVCNF_RESTART; #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_CLOSE_DRIVER: return MIDI_mciClose (dwDevID, dwParam1, (LPMCI_GENERIC_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_SEEK: return MIDI_mciSeek (dwDevID, dwParam1, (LPMCI_SEEK_PARMS) dwParam2); #else + case DRV_OPEN: return 1; + case DRV_CLOSE: return 1; case MCI_OPEN_DRIVER: case MCI_CLOSE_DRIVER: case MCI_PLAY: diff --git a/relay32/ntdll.spec b/relay32/ntdll.spec index a885668f7f3..8674fb5b652 100644 --- a/relay32/ntdll.spec +++ b/relay32/ntdll.spec @@ -25,7 +25,7 @@ type win32 017 stub CsrSetPriorityClass 018 stub CsrpProcessCallbackRequest 019 stub DbgBreakPoint -020 cdecl DbgPrint(str long) DbgPrint +020 varargs DbgPrint() DbgPrint 021 stub DbgPrompt 022 stub DbgSsHandleKmApiMsg 023 stub DbgSsInitialize diff --git a/tools/wrc/writeres.c b/tools/wrc/writeres.c index df4c9834d21..a48e1941cc0 100644 --- a/tools/wrc/writeres.c +++ b/tools/wrc/writeres.c @@ -25,17 +25,18 @@ char Underscore[] = ""; #endif char s_file_head_str[] = - "#\n" - "# This file is generated with wrc version " WRC_FULLVERSION ". Do not edit!\n" - "# Source : %s\n" - "# Cmdline: %s\n" - "# Date : %s" - "#\n\n" - "\t.data\n\n" + "/* This file is generated with wrc version " WRC_FULLVERSION ". Do not edit! */\n" + "/* Source : %s */\n" + "/* Cmdline: %s */\n" + "/* Date : %s */\n" + "\n" + "\t.data\n" + "\n" ; char s_file_tail_str[] = - "# \n\n" + "/* */\n" + "\n" ; char s_file_autoreg_str[] = @@ -575,7 +576,7 @@ void write_pe_segment(FILE *fp, resource_t *top) /* Version */ fprintf(fp, "\t.long\t0\n"); /* FIXME: must version be filled out? */ /* # 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 */ 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\t0x%08lx\n", (long)now); /* TimeDate */ 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++) { 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\t0x%08lx\n", (long)now); /* TimeDate */ 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++) { @@ -771,7 +772,7 @@ void write_ne_segment(FILE *fp, resource_t *top) fprintf(fp, "\t.globl\t%s%s\n", prefix, _NEResTab); /* AlignmentShift */ - fprintf(fp, "\t.short\t%d\n", alignment_pwr); + fprintf(fp, "\t.word\t%d\n", alignment_pwr); /* TypeInfo */ for(i = 0; i < rccount; i++) @@ -780,15 +781,15 @@ void write_ne_segment(FILE *fp, resource_t *top) /* TypeId */ 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 - fprintf(fp, "\t.short\t%s_%s_typename - %s%s\n", + fprintf(fp, "\t.word\t%s_%s_typename - %s%s\n", prefix, rcp->type.name.s_name->str.cstr, prefix, _NEResTab); /* ResourceCount */ - fprintf(fp, "\t.short\t%d\n", rcp->count); + fprintf(fp, "\t.word\t%d\n", rcp->count); /* Reserved */ fprintf(fp, "\t.long\t0\n"); /* 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.) */ /* 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, rcp->rscarray[j]->c_name, prefix, _NEResTab, alignment_pwr); /* 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); /* 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 */ 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 - fprintf(fp, "\t.short\t%s%s_name - %s%s\n", + fprintf(fp, "\t.word\t%s%s_name - %s%s\n", prefix, rcp->rscarray[j]->c_name, prefix, _NEResTab); /* Handle and Usage */ - fprintf(fp, "\t.short\t0, 0\n"); + fprintf(fp, "\t.word\t0, 0\n"); } } /* 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) { error("Could not open %s\n", outname); + return; } - now = time(NULL); - fprintf(fo, s_file_head_str, input_name ? input_name : "stdin", - cmdline, ctime(&now)); + { + char *s, *p; + 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 */ count_resources(top); @@ -962,7 +970,7 @@ void write_s_file(char *outname, resource_t *top) if(!indirect_only) { /* 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) { if(!rsc->binres) @@ -1009,7 +1017,7 @@ void write_s_file(char *outname, resource_t *top) if(indirect) { /* 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"); for(rsc = top; rsc; rsc = rsc->next) { @@ -1074,7 +1082,7 @@ void write_s_file(char *outname, resource_t *top) fprintf(fo, "\n"); /* 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, "%s%s:\n", prefix, _ResTable); fprintf(fo, "\t.globl\t%s%s\n", prefix, _ResTable);