source: trunk/src/kernel32/char.cpp@ 7873

Last change on this file since 7873 was 7873, checked in by sandervl, 24 years ago

* empty log message *

File size: 1.7 KB
Line 
1#include <odinwrap.h>
2#include <os2sel.h>
3
4#include <os2win.h>
5#include <stdlib.h>
6#include <string.h>
7#include <winnls.h>
8
9#include "unicode.h"
10#include <heapstring.h>
11#include "handlemanager.h"
12
13/***********************************************************************
14 * CharToOemA (USER32.@)
15 */
16BOOL WINAPI CharToOemA( LPCSTR s, LPSTR d )
17{
18 dprintf2(("CharToOemA %x %x", s, d));
19 if ( !s || !d ) return TRUE;
20 return CharToOemBuffA( s, d, strlen( s ) + 1 );
21}
22
23
24/***********************************************************************
25 * CharToOemBuffA (USER32.@)
26 */
27BOOL WINAPI CharToOemBuffA( LPCSTR s, LPSTR d, DWORD len )
28{
29 WCHAR *bufW;
30
31 dprintf2(("CharToOemBuffA %x %x %d", s, d, len));
32 bufW = (WCHAR *)HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) );
33 if( bufW )
34 {
35 MultiByteToWideChar( CP_ACP, 0, s, len, bufW, len );
36 WideCharToMultiByte( CP_OEMCP, 0, bufW, len, d, len, NULL, NULL );
37 HeapFree( GetProcessHeap(), 0, bufW );
38 }
39 return TRUE;
40}
41
42
43
44/***********************************************************************
45 * OemToCharA (USER32.@)
46 */
47BOOL WINAPI OemToCharA( LPCSTR s, LPSTR d )
48{
49 return OemToCharBuffA( s, d, strlen( s ) + 1 );
50}
51
52
53/***********************************************************************
54 * OemToCharBuffA (USER32.@)
55 */
56BOOL WINAPI OemToCharBuffA( LPCSTR s, LPSTR d, DWORD len )
57{
58 WCHAR *bufW;
59
60 dprintf2(("OemToCharBuffA %x %x %d", s, d, len));
61
62 bufW = (WCHAR *)HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) );
63 if( bufW )
64 {
65 MultiByteToWideChar( CP_OEMCP, 0, s, len, bufW, len );
66 WideCharToMultiByte( CP_ACP, 0, bufW, len, d, len, NULL, NULL );
67 HeapFree( GetProcessHeap(), 0, bufW );
68 }
69 return TRUE;
70}
71
Note: See TracBrowser for help on using the repository browser.