Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
5b971f00
Commit
5b971f00
authored
Nov 26, 2000
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Moved wsprintf functions to dlls/user.
parent
cbbc7c3d
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
130 additions
and
187 deletions
+130
-187
module.c
debugger/module.c
+4
-4
filedlg95.c
dlls/commdlg/filedlg95.c
+1
-1
Makefile.in
dlls/crtdll/Makefile.in
+0
-1
crtdll.spec
dlls/crtdll/crtdll.spec
+2
-2
crtdll_main.c
dlls/crtdll/crtdll_main.c
+0
-9
debugger.c
dlls/kernel/debugger.c
+29
-0
ntdll.spec
dlls/ntdll/ntdll.spec
+1
-1
Makefile.in
dlls/user/Makefile.in
+2
-1
user.spec
dlls/user/user.spec
+1
-1
user32.spec
dlls/user/user32.spec
+6
-0
wsprintf.c
dlls/user/wsprintf.c
+21
-121
mci.c
dlls/winmm/mci.c
+5
-5
Makefile.in
dlls/winspool/Makefile.in
+1
-1
winspool.drv.spec
dlls/winspool/winspool.drv.spec
+1
-0
winuser16.h
include/wine/winuser16.h
+0
-2
winuser.h
include/winuser.h
+0
-3
Makefile.in
misc/Makefile.in
+1
-2
int11.c
msdos/int11.c
+3
-2
ole2nls.c
ole/ole2nls.c
+52
-31
No files found.
debugger/module.c
View file @
5b971f00
...
...
@@ -326,7 +326,7 @@ enum DbgInfoLoad DEBUG_RegisterPEDebugInfo(DBG_MODULE* wmod, HANDLE hFile,
DEBUG_AddSymbol
(
prefix
,
&
value
,
NULL
,
SYM_WIN32
|
SYM_FUNC
);
/* Add entry point */
w
snprintf
(
buffer
,
sizeof
(
buffer
),
"%s.EntryPoint"
,
prefix
);
snprintf
(
buffer
,
sizeof
(
buffer
),
"%s.EntryPoint"
,
prefix
);
value
.
addr
.
off
=
base
+
nth
->
OptionalHeader
.
AddressOfEntryPoint
;
DEBUG_AddSymbol
(
buffer
,
&
value
,
NULL
,
SYM_WIN32
|
SYM_FUNC
);
...
...
@@ -337,7 +337,7 @@ enum DbgInfoLoad DEBUG_RegisterPEDebugInfo(DBG_MODULE* wmod, HANDLE hFile,
for
(
i
=
0
;
i
<
nth
->
FileHeader
.
NumberOfSections
;
i
++
,
pe_seg_ofs
+=
sizeof
(
pe_seg
))
{
if
(
!
DEBUG_READ_MEM_VERBOSE
((
void
*
)(
base
+
pe_seg_ofs
),
&
pe_seg
,
sizeof
(
pe_seg
)))
continue
;
w
snprintf
(
buffer
,
sizeof
(
buffer
),
"%s.%s"
,
prefix
,
pe_seg
.
Name
);
snprintf
(
buffer
,
sizeof
(
buffer
),
"%s.%s"
,
prefix
,
pe_seg
.
Name
);
value
.
addr
.
off
=
base
+
pe_seg
.
VirtualAddress
;
DEBUG_AddSymbol
(
buffer
,
&
value
,
NULL
,
SYM_WIN32
|
SYM_FUNC
);
}
...
...
@@ -373,7 +373,7 @@ enum DbgInfoLoad DEBUG_RegisterPEDebugInfo(DBG_MODULE* wmod, HANDLE hFile,
!
DEBUG_READ_MEM_VERBOSE
((
void
*
)(
base
+
names
[
i
]),
bufstr
,
sizeof
(
bufstr
)))
continue
;
bufstr
[
sizeof
(
bufstr
)
-
1
]
=
0
;
w
snprintf
(
buffer
,
sizeof
(
buffer
),
"%s.%s"
,
prefix
,
bufstr
);
snprintf
(
buffer
,
sizeof
(
buffer
),
"%s.%s"
,
prefix
,
bufstr
);
value
.
addr
.
off
=
base
+
(
DWORD
)
functions
[
ordinals
[
i
]];
DEBUG_AddSymbol
(
buffer
,
&
value
,
NULL
,
SYM_WIN32
|
SYM_FUNC
);
}
...
...
@@ -384,7 +384,7 @@ enum DbgInfoLoad DEBUG_RegisterPEDebugInfo(DBG_MODULE* wmod, HANDLE hFile,
for
(
j
=
0
;
j
<
exports
.
NumberOfNames
;
j
++
)
if
((
ordinals
[
j
]
==
i
)
&&
names
[
j
])
break
;
if
(
j
<
exports
.
NumberOfNames
)
continue
;
w
snprintf
(
buffer
,
sizeof
(
buffer
),
"%s.%ld"
,
prefix
,
i
+
exports
.
Base
);
snprintf
(
buffer
,
sizeof
(
buffer
),
"%s.%ld"
,
prefix
,
i
+
exports
.
Base
);
value
.
addr
.
off
=
base
+
(
DWORD
)
functions
[
i
];
DEBUG_AddSymbol
(
buffer
,
&
value
,
NULL
,
SYM_WIN32
|
SYM_FUNC
);
}
...
...
dlls/commdlg/filedlg95.c
View file @
5b971f00
...
...
@@ -770,7 +770,7 @@ HRESULT FILEDLG95_HandleCustomDialogMessages(HWND hwnd, UINT uMsg, WPARAM wParam
/* Prepend the current path */
COMDLG32_SHGetPathFromIDListA
(
fodInfos
->
ShellInfos
.
pidlAbsCurrent
,
lpstrCurrentDir
);
if
((
LPSTR
)
lParam
!=
NULL
)
wsnprintfA
((
LPSTR
)
lParam
,(
int
)
wParam
,
"%s
\\
%s"
,
lpstrCurrentDir
,
lpstrPath
);
snprintf
((
LPSTR
)
lParam
,(
int
)
wParam
,
"%s
\\
%s"
,
lpstrCurrentDir
,
lpstrPath
);
reqSize
=
strlen
(
lpstrCurrentDir
)
+
1
+
strlen
(
lpstrPath
)
+
1
;
}
else
...
...
dlls/crtdll/Makefile.in
View file @
5b971f00
...
...
@@ -4,7 +4,6 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
crtdll
EXTRALIBS
=
-lwine_unicode
IMPORTS
=
ntdll
LDDLLFLAGS
=
@LDDLLFLAGS@
SYMBOLFILE
=
$(MODULE)
.tmp.o
...
...
dlls/crtdll/crtdll.spec
View file @
5b971f00
...
...
@@ -490,7 +490,7 @@ debug_channels (crtdll)
@ cdecl strtol(str ptr long) strtol
@ cdecl strtoul(str ptr long) strtoul
@ cdecl strxfrm(ptr str long) strxfrm
@
varargs swprintf(wstr wstr) wsprintfW
@
stub swprintf
@ stub swscanf
@ cdecl system(str) CRTDLL_system
@ cdecl tan(double) tan
...
...
@@ -508,7 +508,7 @@ debug_channels (crtdll)
@ stub vfwprintf
@ stub vprintf
@ cdecl vsprintf(ptr str ptr) vsprintf
@
cdecl vswprintf(ptr wstr ptr) CRTDLL_
vswprintf
@
stub
vswprintf
@ stub vwprintf
@ forward wcscat ntdll.wcscat
@ forward wcschr ntdll.wcschr
...
...
dlls/crtdll/crtdll_main.c
View file @
5b971f00
...
...
@@ -598,15 +598,6 @@ double __cdecl CRTDLL__scalb(double x, LONG y)
/*********************************************************************
* vswprintf (CRTDLL.501)
*/
INT
__cdecl
CRTDLL_vswprintf
(
LPWSTR
buffer
,
LPCWSTR
spec
,
va_list
args
)
{
return
wvsprintfW
(
buffer
,
spec
,
args
);
}
/*********************************************************************
* longjmp (CRTDLL.426)
*/
VOID
__cdecl
CRTDLL_longjmp
(
jmp_buf
env
,
int
val
)
...
...
dlls/kernel/debugger.c
View file @
5b971f00
...
...
@@ -4,10 +4,13 @@
* Copyright (C) 1999 Alexandre Julliard
*/
#include <stdio.h>
#include <string.h>
#include "winerror.h"
#include "wine/winbase16.h"
#include "server.h"
#include "stackframe.h"
#include "debugtools.h"
DEFAULT_DEBUG_CHANNEL
(
debugstr
);
...
...
@@ -229,3 +232,29 @@ BOOL WINAPI IsDebuggerPresent(void)
SERVER_END_REQ
;
return
ret
;
}
/***********************************************************************
* _DebugOutput (KERNEL.328)
*/
void
WINAPIV
_DebugOutput
(
void
)
{
VA_LIST16
valist
;
WORD
flags
;
SEGPTR
spec
;
char
caller
[
101
];
/* Decode caller address */
if
(
!
GetModuleName16
(
GetExePtr
(
CURRENT_STACK16
->
cs
),
caller
,
sizeof
(
caller
)
))
sprintf
(
caller
,
"%04X:%04X"
,
CURRENT_STACK16
->
cs
,
CURRENT_STACK16
->
ip
);
/* Build debug message string */
VA_START16
(
valist
);
flags
=
VA_ARG16
(
valist
,
WORD
);
spec
=
VA_ARG16
(
valist
,
SEGPTR
);
/* FIXME: cannot use wvsnprintf16 from kernel */
/* wvsnprintf16( temp, sizeof(temp), (LPCSTR)PTR_SEG_TO_LIN(spec), valist ); */
/* Output */
FIXME
(
"%s %04x %s
\n
"
,
caller
,
flags
,
debugstr_a
(
PTR_SEG_TO_LIN
(
spec
))
);
}
dlls/ntdll/ntdll.spec
View file @
5b971f00
...
...
@@ -945,7 +945,7 @@ debug_channels (aspi atom cdrom console ddraw debug delayhlp dll dosfs dosmem
@ cdecl -noimport strspn(str str) strspn
@ cdecl -noimport strstr(str str) strstr
@ cdecl -noimport strtol(str ptr long) strtol
@
varargs swprintf(wstr wstr) wsprintfW
@
stub swprintf
@ stub tan
@ cdecl tolower(long) tolower
@ cdecl toupper(long) toupper
...
...
dlls/user/Makefile.in
View file @
5b971f00
...
...
@@ -20,7 +20,8 @@ C_SRCS = \
resource.c
\
text.c
\
thunk.c
\
user_main.c
user_main.c
\
wsprintf.c
RC_SRCS
=
\
resources/display.rc
\
...
...
dlls/user/user.spec
View file @
5b971f00
...
...
@@ -398,7 +398,7 @@ owner user32
416 pascal16 TrackPopupMenu(word word s_word s_word s_word word ptr) TrackPopupMenu16
417 pascal GetMenuCheckMarkDimensions() GetMenuCheckMarkDimensions
418 pascal16 SetMenuItemBitmaps(word word word word word) SetMenuItemBitmaps16
420 pascal16 _wsprintf()
WIN16_
wsprintf16
420 pascal16 _wsprintf() wsprintf16
421 pascal16 wvsprintf(ptr str ptr) wvsprintf16
422 pascal16 DlgDirSelectEx(word ptr word word) DlgDirSelectEx16
423 pascal16 DlgDirSelectComboBoxEx(word ptr word word) DlgDirSelectComboBoxEx16
...
...
dlls/user/user32.spec
View file @
5b971f00
...
...
@@ -651,3 +651,9 @@ debug_channels (accel caret class clipboard combo cursor dc ddeml dialog driver
@ stdcall GetClipboardSequenceNumber () GetClipboardSequenceNumber
@ stdcall AllowSetForegroundWindow (long) AllowSetForegroundWindow
@ stdcall LockSetForegroundWindow (long) LockSetForegroundWindow
###################################################
# Extra useful functions not exported under Windows
#
@ stdcall wvsnprintfA(ptr long str ptr) wvsnprintfA
@ stdcall wvsnprintfW(ptr long wstr ptr) wvsnprintfW
misc
/wsprintf.c
→
dlls/user
/wsprintf.c
View file @
5b971f00
...
...
@@ -13,11 +13,10 @@
#include "winuser.h"
#include "ldt.h"
#include "stackframe.h"
#include "module.h"
#include "global.h"
#include "debugtools.h"
DEFAULT_DEBUG_CHANNEL
(
string
)
DEFAULT_DEBUG_CHANNEL
(
string
)
;
#define WPRINTF_LEFTALIGN 0x0001
/* Align output on the left ('-' prefix) */
...
...
@@ -108,12 +107,10 @@ static INT WPRINTF_ParseFormatA( LPCSTR format, WPRINTF_FORMAT *res )
res
->
type
=
WPR_SIGNED
;
break
;
case
's'
:
res
->
type
=
(
res
->
flags
&
(
WPRINTF_LONG
|
WPRINTF_WIDE
))
?
WPR_WSTRING
:
WPR_STRING
;
res
->
type
=
(
res
->
flags
&
(
WPRINTF_LONG
|
WPRINTF_WIDE
))
?
WPR_WSTRING
:
WPR_STRING
;
break
;
case
'S'
:
res
->
type
=
(
res
->
flags
&
(
WPRINTF_SHORT
|
WPRINTF_WIDE
))
?
WPR_STRING
:
WPR_WSTRING
;
res
->
type
=
(
res
->
flags
&
(
WPRINTF_SHORT
|
WPRINTF_WIDE
))
?
WPR_STRING
:
WPR_WSTRING
;
break
;
case
'u'
:
res
->
type
=
WPR_UNSIGNED
;
...
...
@@ -256,7 +253,7 @@ static UINT WPRINTF_GetLen( WPRINTF_FORMAT *format, WPRINTF_DATA *arg,
}
/***********************************************************************
* WPRINTF_ExtractVAPtr
(Not a Windows API)
* WPRINTF_ExtractVAPtr
*/
static
WPRINTF_DATA
WPRINTF_ExtractVAPtr
(
WPRINTF_FORMAT
*
format
,
va_list
*
args
)
{
...
...
@@ -284,7 +281,7 @@ static WPRINTF_DATA WPRINTF_ExtractVAPtr( WPRINTF_FORMAT *format, va_list* args
/***********************************************************************
* wvsnprintf16 (Not a Windows API)
*/
INT16
WINAPI
wvsnprintf16
(
LPSTR
buffer
,
UINT16
maxlen
,
LPCSTR
spec
,
static
INT16
wvsnprintf16
(
LPSTR
buffer
,
UINT16
maxlen
,
LPCSTR
spec
,
LPCVOID
args
)
{
WPRINTF_FORMAT
format
;
...
...
@@ -337,7 +334,7 @@ INT16 WINAPI wvsnprintf16( LPSTR buffer, UINT16 maxlen, LPCSTR spec,
{
case
WPR_WCHAR
:
/* No Unicode in Win16 */
case
WPR_CHAR
:
*
p
=
cur_arg
.
char_view
;
*
p
=
cur_arg
.
char_view
;
if
(
*
p
!=
'\0'
)
p
++
;
else
if
(
format
.
width
>
1
)
*
p
++
=
' '
;
else
len
=
0
;
...
...
@@ -376,10 +373,9 @@ INT16 WINAPI wvsnprintf16( LPSTR buffer, UINT16 maxlen, LPCSTR spec,
/***********************************************************************
* wvsnprintfA (Not a Windows API)
* wvsnprintfA (Not a Windows API
, but we export it from USER32 anyway
)
*/
INT
WINAPI
wvsnprintfA
(
LPSTR
buffer
,
UINT
maxlen
,
LPCSTR
spec
,
va_list
args
)
INT
WINAPI
wvsnprintfA
(
LPSTR
buffer
,
UINT
maxlen
,
LPCSTR
spec
,
va_list
args
)
{
WPRINTF_FORMAT
format
;
LPSTR
p
=
buffer
;
...
...
@@ -387,6 +383,8 @@ INT WINAPI wvsnprintfA( LPSTR buffer, UINT maxlen, LPCSTR spec,
CHAR
number
[
20
];
WPRINTF_DATA
argData
;
TRACE
(
"%p %u %s
\n
"
,
buffer
,
maxlen
,
debugstr_a
(
spec
));
while
(
*
spec
&&
(
maxlen
>
1
))
{
if
(
*
spec
!=
'%'
)
{
*
p
++
=
*
spec
++
;
maxlen
--
;
continue
;
}
...
...
@@ -401,13 +399,13 @@ INT WINAPI wvsnprintfA( LPSTR buffer, UINT maxlen, LPCSTR spec,
switch
(
format
.
type
)
{
case
WPR_WCHAR
:
*
p
=
argData
.
wchar_view
;
*
p
=
argData
.
wchar_view
;
if
(
*
p
!=
'\0'
)
p
++
;
else
if
(
format
.
width
>
1
)
*
p
++
=
' '
;
else
len
=
0
;
break
;
case
WPR_CHAR
:
*
p
=
argData
.
char_view
;
*
p
=
argData
.
char_view
;
if
(
*
p
!=
'\0'
)
p
++
;
else
if
(
format
.
width
>
1
)
*
p
++
=
' '
;
else
len
=
0
;
...
...
@@ -446,16 +444,15 @@ INT WINAPI wvsnprintfA( LPSTR buffer, UINT maxlen, LPCSTR spec,
maxlen
-=
len
;
}
*
p
=
0
;
TRACE
(
"%s
\n
"
,
buffer
);
TRACE
(
"%s
\n
"
,
debugstr_a
(
buffer
)
);
return
(
maxlen
>
1
)
?
(
INT
)(
p
-
buffer
)
:
-
1
;
}
/***********************************************************************
* wvsnprintfW (Not a Windows API)
* wvsnprintfW (Not a Windows API
, but we export it from USER32 anyway
)
*/
INT
WINAPI
wvsnprintfW
(
LPWSTR
buffer
,
UINT
maxlen
,
LPCWSTR
spec
,
va_list
args
)
INT
WINAPI
wvsnprintfW
(
LPWSTR
buffer
,
UINT
maxlen
,
LPCWSTR
spec
,
va_list
args
)
{
WPRINTF_FORMAT
format
;
LPWSTR
p
=
buffer
;
...
...
@@ -479,13 +476,13 @@ INT WINAPI wvsnprintfW( LPWSTR buffer, UINT maxlen, LPCWSTR spec,
switch
(
format
.
type
)
{
case
WPR_WCHAR
:
*
p
=
argData
.
wchar_view
;
*
p
=
argData
.
wchar_view
;
if
(
*
p
!=
'\0'
)
p
++
;
else
if
(
format
.
width
>
1
)
*
p
++
=
' '
;
else
len
=
0
;
break
;
case
WPR_CHAR
:
*
p
=
argData
.
char_view
;
*
p
=
argData
.
char_view
;
if
(
*
p
!=
'\0'
)
p
++
;
else
if
(
format
.
width
>
1
)
*
p
++
=
' '
;
else
len
=
0
;
...
...
@@ -523,6 +520,7 @@ INT WINAPI wvsnprintfW( LPWSTR buffer, UINT maxlen, LPCWSTR spec,
maxlen
-=
len
;
}
*
p
=
0
;
TRACE
(
"%s
\n
"
,
debugstr_w
(
buffer
));
return
(
maxlen
>
1
)
?
(
INT
)(
p
-
buffer
)
:
-
1
;
}
...
...
@@ -545,10 +543,7 @@ INT16 WINAPI wvsprintf16( LPSTR buffer, LPCSTR spec, LPCVOID args )
*/
INT
WINAPI
wvsprintfA
(
LPSTR
buffer
,
LPCSTR
spec
,
va_list
args
)
{
INT
res
;
TRACE
(
"for %p got:
\n
"
,
buffer
);
res
=
wvsnprintfA
(
buffer
,
1024
,
spec
,
args
);
INT
res
=
wvsnprintfA
(
buffer
,
1024
,
spec
,
args
);
return
(
res
==
-
1
)
?
1024
:
res
;
}
...
...
@@ -558,12 +553,7 @@ INT WINAPI wvsprintfA( LPSTR buffer, LPCSTR spec, va_list args )
*/
INT
WINAPI
wvsprintfW
(
LPWSTR
buffer
,
LPCWSTR
spec
,
va_list
args
)
{
INT
res
;
TRACE
(
"for %p got:
\n
"
,
buffer
);
/* FIXME: in w*printfW, */
/* is maximum buffer size 1024-bytes? (or 1024-wchars?) */
res
=
wvsnprintfW
(
buffer
,
1024
,
spec
,
args
);
INT
res
=
wvsnprintfW
(
buffer
,
1024
,
spec
,
args
);
return
(
res
==
-
1
)
?
1024
:
res
;
}
...
...
@@ -571,22 +561,7 @@ INT WINAPI wvsprintfW( LPWSTR buffer, LPCWSTR spec, va_list args )
/***********************************************************************
* wsprintf16 (USER.420)
*/
/* Winelib version */
INT16
WINAPIV
wsprintf16
(
LPSTR
buffer
,
LPCSTR
spec
,
...
)
{
va_list
valist
;
INT16
res
;
TRACE
(
"for %p got:
\n
"
,
buffer
);
va_start
(
valist
,
spec
);
/* Note: we call the 32-bit version, because the args are 32-bit */
res
=
(
INT16
)
wvsnprintfA
(
buffer
,
1024
,
spec
,
valist
);
va_end
(
valist
);
return
(
res
==
-
1
)
?
1024
:
res
;
}
/* Emulator version */
INT16
WINAPIV
WIN16_wsprintf16
(
void
)
INT16
WINAPIV
wsprintf16
(
void
)
{
VA_LIST16
valist
;
INT16
res
;
...
...
@@ -595,7 +570,6 @@ INT16 WINAPIV WIN16_wsprintf16(void)
VA_START16
(
valist
);
buffer
=
VA_ARG16
(
valist
,
SEGPTR
);
spec
=
VA_ARG16
(
valist
,
SEGPTR
);
TRACE
(
"got:
\n
"
);
res
=
wvsnprintf16
(
(
LPSTR
)
PTR_SEG_TO_LIN
(
buffer
),
1024
,
(
LPCSTR
)
PTR_SEG_TO_LIN
(
spec
),
valist
);
VA_END16
(
valist
);
...
...
@@ -611,7 +585,6 @@ INT WINAPIV wsprintfA( LPSTR buffer, LPCSTR spec, ... )
va_list
valist
;
INT
res
;
TRACE
(
"for %p got:
\n
"
,
buffer
);
va_start
(
valist
,
spec
);
res
=
wvsnprintfA
(
buffer
,
1024
,
spec
,
valist
);
va_end
(
valist
);
...
...
@@ -627,81 +600,8 @@ INT WINAPIV wsprintfW( LPWSTR buffer, LPCWSTR spec, ... )
va_list
valist
;
INT
res
;
TRACE
(
"wsprintfW for %p
\n
"
,
buffer
);
va_start
(
valist
,
spec
);
res
=
wvsnprintfW
(
buffer
,
1024
,
spec
,
valist
);
va_end
(
valist
);
return
(
res
==
-
1
)
?
1024
:
res
;
}
/***********************************************************************
* wsnprintfA (Not a Windows API)
*/
INT
WINAPIV
wsnprintfA
(
LPSTR
buffer
,
UINT
maxlen
,
LPCSTR
spec
,
...
)
{
va_list
valist
;
INT
res
;
va_start
(
valist
,
spec
);
res
=
wvsnprintfA
(
buffer
,
maxlen
,
spec
,
valist
);
va_end
(
valist
);
return
res
;
}
/***********************************************************************
* wsnprintfW (Not a Windows API)
*/
INT
WINAPIV
wsnprintfW
(
LPWSTR
buffer
,
UINT
maxlen
,
LPCWSTR
spec
,
...
)
{
va_list
valist
;
INT
res
;
va_start
(
valist
,
spec
);
res
=
wvsnprintfW
(
buffer
,
maxlen
,
spec
,
valist
);
va_end
(
valist
);
return
res
;
}
/***********************************************************************
* _DebugOutput (KERNEL.328)
*/
void
WINAPIV
_DebugOutput
(
void
)
{
VA_LIST16
valist
;
WORD
flags
;
SEGPTR
spec
;
int
i
,
nSeg
=
0
;
NE_MODULE
*
pModule
;
char
caller
[
101
],
temp
[
512
];
/* Decode caller address */
pModule
=
NE_GetPtr
(
CURRENT_STACK16
->
cs
);
if
(
pModule
)
{
SEGTABLEENTRY
*
pSeg
=
NE_SEG_TABLE
(
pModule
);
for
(
i
=
0
;
i
<
pModule
->
seg_count
;
i
++
,
pSeg
++
)
if
(
GlobalHandleToSel16
(
pSeg
->
hSeg
)
==
CURRENT_STACK16
->
cs
)
{
nSeg
=
i
+
1
;
break
;
}
}
if
(
nSeg
)
sprintf
(
caller
,
"%s %02X:%04X"
,
NE_MODULE_NAME
(
pModule
),
nSeg
,
CURRENT_STACK16
->
ip
);
else
sprintf
(
caller
,
"%04X:%04X"
,
CURRENT_STACK16
->
cs
,
CURRENT_STACK16
->
ip
);
/* Build debug message string */
VA_START16
(
valist
);
flags
=
VA_ARG16
(
valist
,
WORD
);
spec
=
VA_ARG16
(
valist
,
SEGPTR
);
wvsnprintf16
(
temp
,
sizeof
(
temp
),
(
LPCSTR
)
PTR_SEG_TO_LIN
(
spec
),
valist
);
/* Output */
DPRINTF
(
"_DebugOutput: %s %04X %s
\n
"
,
caller
,
flags
,
debugstr_an
(
temp
,
sizeof
(
temp
))
);
}
dlls/winmm/mci.c
View file @
5b971f00
...
...
@@ -735,7 +735,7 @@ static DWORD MCI_HandleReturnValues(LPWINE_MM_IDATA iData, DWORD dwRet,
switch
(
dwRet
&
0xFFFF0000ul
)
{
case
0
:
case
MCI_INTEGER_RETURNED
:
wsnprintfA
(
lpstrRet
,
uRetLen
,
"%ld"
,
data
[
1
]);
snprintf
(
lpstrRet
,
uRetLen
,
"%ld"
,
data
[
1
]);
break
;
case
MCI_RESOURCE_RETURNED
:
/* return string which ID is HIWORD(data[1]),
...
...
@@ -749,12 +749,12 @@ static DWORD MCI_HandleReturnValues(LPWINE_MM_IDATA iData, DWORD dwRet,
LoadStringA
(
wmd
->
hDrv
,
HIWORD
(
data
[
1
]),
lpstrRet
,
uRetLen
);
break
;
case
MCI_COLONIZED3_RETURN
:
wsnprintfA
(
lpstrRet
,
uRetLen
,
"%d:%d:%d"
,
snprintf
(
lpstrRet
,
uRetLen
,
"%d:%d:%d"
,
LOBYTE
(
LOWORD
(
data
[
1
])),
HIBYTE
(
LOWORD
(
data
[
1
])),
LOBYTE
(
HIWORD
(
data
[
1
])));
break
;
case
MCI_COLONIZED4_RETURN
:
wsnprintfA
(
lpstrRet
,
uRetLen
,
"%d:%d:%d:%d"
,
snprintf
(
lpstrRet
,
uRetLen
,
"%d:%d:%d:%d"
,
LOBYTE
(
LOWORD
(
data
[
1
])),
HIBYTE
(
LOWORD
(
data
[
1
])),
LOBYTE
(
HIWORD
(
data
[
1
])),
HIBYTE
(
HIWORD
(
data
[
1
])));
break
;
...
...
@@ -768,7 +768,7 @@ static DWORD MCI_HandleReturnValues(LPWINE_MM_IDATA iData, DWORD dwRet,
break
;
case
MCI_INTEGER_RETURNED
:
data
[
1
]
=
*
(
LPDWORD
)
lpstrRet
;
wsnprintfA
(
lpstrRet
,
uRetLen
,
"%ld"
,
data
[
1
]);
snprintf
(
lpstrRet
,
uRetLen
,
"%ld"
,
data
[
1
]);
break
;
default:
WARN
(
"Oooch. MCI_STRING and HIWORD(dwRet)=%04x
\n
"
,
HIWORD
(
dwRet
));
...
...
@@ -778,7 +778,7 @@ static DWORD MCI_HandleReturnValues(LPWINE_MM_IDATA iData, DWORD dwRet,
case
MCI_RECT
:
if
(
dwRet
&
0xFFFF0000ul
)
WARN
(
"Oooch. MCI_STRING and HIWORD(dwRet)=%04x
\n
"
,
HIWORD
(
dwRet
));
wsnprintfA
(
lpstrRet
,
uRetLen
,
"%ld %ld %ld %ld"
,
snprintf
(
lpstrRet
,
uRetLen
,
"%ld %ld %ld %ld"
,
data
[
1
],
data
[
2
],
data
[
3
],
data
[
4
]);
break
;
default:
ERR
(
"oops
\n
"
);
...
...
dlls/winspool/Makefile.in
View file @
5b971f00
...
...
@@ -4,7 +4,7 @@ SRCDIR = @srcdir@
VPATH
=
@srcdir@
MODULE
=
winspool.drv
SOVERSION
=
1.0
IMPORTS
=
gdi32 advapi32 kernel32 ntdll
IMPORTS
=
user32
gdi32 advapi32 kernel32 ntdll
C_SRCS
=
\
info.c
\
...
...
dlls/winspool/winspool.drv.spec
View file @
5b971f00
...
...
@@ -3,6 +3,7 @@ type win32
file winspool.drv
init WINSPOOL_EntryPoint
import user32.dll
import gdi32.dll
import advapi32.dll
import kernel32.dll
...
...
include/wine/winuser16.h
View file @
5b971f00
...
...
@@ -590,8 +590,6 @@ FARPROC16 WINAPI SetWindowsHook16(INT16,HOOKPROC16);
HHOOK
WINAPI
SetWindowsHookEx16
(
INT16
,
HOOKPROC16
,
HINSTANCE16
,
HTASK16
);
BOOL16
WINAPI
UnhookWindowsHook16
(
INT16
,
HOOKPROC16
);
BOOL16
WINAPI
UnhookWindowsHookEx16
(
HHOOK
);
INT16
WINAPIV
wsnprintf16
(
LPSTR
,
UINT16
,
LPCSTR
,...);
INT16
WINAPIV
wsprintf16
(
LPSTR
,
LPCSTR
,...);
INT16
WINAPI
wvsnprintf16
(
LPSTR
,
UINT16
,
LPCSTR
,
LPCVOID
);
VOID
WINAPI
CalcChildScroll16
(
HWND16
,
WORD
);
VOID
WINAPI
CascadeChildWindows16
(
HWND16
,
WORD
);
...
...
include/winuser.h
View file @
5b971f00
...
...
@@ -3780,9 +3780,6 @@ HRESULT WINAPI PrivateExtractIconsW(LPCWSTR,INT,DWORD,DWORD,HICON*,DWORD,UIN
/* Extra functions that don't exist in the Windows API */
HPEN
WINAPI
GetSysColorPen
(
INT
);
INT
WINAPIV
wsnprintfA
(
LPSTR
,
UINT
,
LPCSTR
,...);
INT
WINAPIV
wsnprintfW
(
LPWSTR
,
UINT
,
LPCWSTR
,...);
#define wsnprintf WINELIB_NAME_AW(wsnprintf)
INT
WINAPI
wvsnprintfA
(
LPSTR
,
UINT
,
LPCSTR
,
va_list
);
INT
WINAPI
wvsnprintfW
(
LPWSTR
,
UINT
,
LPCWSTR
,
va_list
);
#define wvsnprintf WINELIB_NAME_AW(wvsnprintf)
...
...
misc/Makefile.in
View file @
5b971f00
...
...
@@ -17,8 +17,7 @@ C_SRCS = \
registry.c
\
system.c
\
tweak.c
\
version.c
\
wsprintf.c
version.c
all
:
$(MODULE).o
...
...
msdos/int11.c
View file @
5b971f00
...
...
@@ -2,6 +2,7 @@
* BIOS interrupt 11h handler
*/
#include <stdio.h>
#include <stdlib.h>
#include "config.h"
...
...
@@ -58,12 +59,12 @@ void WINAPI INT_Int11Handler( CONTEXT86 *context )
{
char
temp
[
16
],
name
[
16
];
wsprintfA
(
name
,
"COM%d"
,
x
+
1
);
sprintf
(
name
,
"COM%d"
,
x
+
1
);
PROFILE_GetWineIniString
(
"serialports"
,
name
,
"*"
,
temp
,
sizeof
temp
);
if
(
strcmp
(
temp
,
"*"
))
serialports
++
;
wsprintfA
(
name
,
"LPT%d"
,
x
+
1
);
sprintf
(
name
,
"LPT%d"
,
x
+
1
);
PROFILE_GetWineIniString
(
"parallelports"
,
name
,
"*"
,
temp
,
sizeof
temp
);
if
(
strcmp
(
temp
,
"*"
))
parallelports
++
;
...
...
ole/ole2nls.c
View file @
5b971f00
...
...
@@ -581,7 +581,7 @@ INT WINAPI GetLocaleInfoW(LCID lcid,LCTYPE LCType,LPWSTR wbuf,INT len)
wlen
=
GetLocaleInfoA
(
lcid
,
LCType
,
abuf
,
len
);
if
(
wlen
&&
len
)
/* if len=0 return only the length*/
lstrcpynAtoW
(
wbuf
,
abuf
,
len
);
MultiByteToWideChar
(
CP_ACP
,
0
,
abuf
,
-
1
,
wbuf
,
len
);
HeapFree
(
GetProcessHeap
(),
0
,
abuf
);
return
wlen
;
...
...
@@ -2799,6 +2799,7 @@ static INT OLE_GetFormatW(LCID locale, DWORD flags, DWORD tflags,
INT
inpos
,
outpos
;
int
count
,
type
=
0
,
inquote
;
int
Overflow
;
/* loop check */
char
tmp
[
16
];
WCHAR
buf
[
40
];
int
buflen
=
0
;
WCHAR
arg0
[]
=
{
0
},
arg1
[]
=
{
'%'
,
'd'
,
0
};
...
...
@@ -2862,8 +2863,10 @@ static INT OLE_GetFormatW(LCID locale, DWORD flags, DWORD tflags,
(
count
==
2
&&
type
==
'm'
)
||
(
count
==
2
&&
type
==
's'
)
||
(
count
==
2
&&
type
==
't'
)
)
)
{
if
(
type
==
'd'
)
{
if
(
count
==
3
)
{
switch
(
type
)
{
case
'd'
:
if
(
count
==
4
)
{
GetLocaleInfoW
(
locale
,
LOCALE_SDAYNAME1
+
(
xtime
->
wDayOfWeek
+
6
)
%
7
,
buf
,
sizeof
(
buf
)
/
sizeof
(
WCHAR
)
);
...
...
@@ -2873,9 +2876,12 @@ static INT OLE_GetFormatW(LCID locale, DWORD flags, DWORD tflags,
(
xtime
->
wDayOfWeek
+
6
)
%
7
,
buf
,
sizeof
(
buf
)
/
sizeof
(
WCHAR
)
);
}
else
{
wsnprintfW
(
buf
,
5
,
argarr
[
count
],
xtime
->
wDay
);
};
}
else
if
(
type
==
'M'
)
{
sprintf
(
tmp
,
"%.*d"
,
count
,
xtime
->
wDay
);
MultiByteToWideChar
(
CP_ACP
,
0
,
tmp
,
-
1
,
buf
,
sizeof
(
buf
)
/
sizeof
(
WCHAR
)
);
}
break
;
case
'M'
:
if
(
count
==
4
)
{
GetLocaleInfoW
(
locale
,
LOCALE_SMONTHNAME1
+
xtime
->
wMonth
-
1
,
buf
,
...
...
@@ -2885,47 +2891,62 @@ static INT OLE_GetFormatW(LCID locale, DWORD flags, DWORD tflags,
xtime
->
wMonth
-
1
,
buf
,
sizeof
(
buf
)
/
sizeof
(
WCHAR
)
);
}
else
{
wsnprintfW
(
buf
,
5
,
argarr
[
count
],
xtime
->
wMonth
);
sprintf
(
tmp
,
"%.*d"
,
count
,
xtime
->
wMonth
);
MultiByteToWideChar
(
CP_ACP
,
0
,
tmp
,
-
1
,
buf
,
sizeof
(
buf
)
/
sizeof
(
WCHAR
)
);
}
}
else
if
(
type
==
'y'
)
{
break
;
case
'y'
:
if
(
count
==
4
)
{
wsnprintfW
(
buf
,
6
,
argarr
[
1
]
/* "%d" */
,
xtime
->
wYear
);
sprintf
(
tmp
,
"%d"
,
xtime
->
wYear
);
}
else
if
(
count
==
3
)
{
lstrcpynAtoW
(
buf
,
"yyy"
,
5
);
strcpy
(
tmp
,
"yyy"
);
}
else
{
wsnprintfW
(
buf
,
6
,
argarr
[
count
],
xtime
->
wYear
%
100
);
sprintf
(
tmp
,
"%.*d"
,
count
,
xtime
->
wYear
%
100
);
}
}
else
if
(
type
==
'g'
)
{
MultiByteToWideChar
(
CP_ACP
,
0
,
tmp
,
-
1
,
buf
,
sizeof
(
buf
)
/
sizeof
(
WCHAR
)
);
break
;
case
'g'
:
if
(
count
==
2
)
{
FIXME
(
"LOCALE_ICALENDARTYPE unimplemented
\n
"
);
lstrcpynAtoW
(
buf
,
"AD"
,
5
);
strcpy
(
tmp
,
"AD"
);
}
else
{
/* Win API sez we copy it verbatim */
lstrcpynAtoW
(
buf
,
"g"
,
5
);
strcpy
(
tmp
,
"g"
);
}
}
else
if
(
type
==
'h'
)
{
/* hours 1:00-12:00 --- is this right? */
wsnprintfW
(
buf
,
5
,
argarr
[
count
],
(
xtime
->
wHour
-
1
)
%
12
+
1
);
}
else
if
(
type
==
'H'
)
{
wsnprintfW
(
buf
,
5
,
argarr
[
count
],
xtime
->
wHour
);
}
else
if
(
type
==
'm'
)
{
wsnprintfW
(
buf
,
5
,
argarr
[
count
],
xtime
->
wMinute
);
}
else
if
(
type
==
's'
)
{
wsnprintfW
(
buf
,
5
,
argarr
[
count
],
xtime
->
wSecond
);
}
else
if
(
type
==
't'
)
{
MultiByteToWideChar
(
CP_ACP
,
0
,
tmp
,
-
1
,
buf
,
sizeof
(
buf
)
/
sizeof
(
WCHAR
)
);
break
;
case
'h'
:
/* hours 1:00-12:00 --- is this right? */
sprintf
(
tmp
,
"%.*d"
,
count
,
(
xtime
->
wHour
-
1
)
%
12
+
1
);
MultiByteToWideChar
(
CP_ACP
,
0
,
tmp
,
-
1
,
buf
,
sizeof
(
buf
)
/
sizeof
(
WCHAR
)
);
break
;
case
'H'
:
sprintf
(
tmp
,
"%.*d"
,
count
,
xtime
->
wHour
);
MultiByteToWideChar
(
CP_ACP
,
0
,
tmp
,
-
1
,
buf
,
sizeof
(
buf
)
/
sizeof
(
WCHAR
)
);
break
;
case
'm'
:
sprintf
(
tmp
,
"%.*d"
,
count
,
xtime
->
wMinute
);
MultiByteToWideChar
(
CP_ACP
,
0
,
tmp
,
-
1
,
buf
,
sizeof
(
buf
)
/
sizeof
(
WCHAR
)
);
break
;
case
's'
:
sprintf
(
tmp
,
"%.*d"
,
count
,
xtime
->
wSecond
);
MultiByteToWideChar
(
CP_ACP
,
0
,
tmp
,
-
1
,
buf
,
sizeof
(
buf
)
/
sizeof
(
WCHAR
)
);
break
;
case
't'
:
GetLocaleInfoW
(
locale
,
(
xtime
->
wHour
<
12
)
?
LOCALE_S1159
:
LOCALE_S2359
,
buf
,
sizeof
(
buf
)
);
if
(
count
==
1
)
{
buf
[
1
]
=
0
;
}
}
break
;
}
/* no matter what happened, we need to check this next
character the next time we loop through */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment