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

Last change on this file since 7872 was 7872, checked in by achimha, 24 years ago

file from froloff for filename codepage conversion

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