Author: fireball
Date: Thu Nov 4 12:28:08 2010
New Revision: 49466
URL:
http://svn.reactos.org/svn/reactos?rev=49466&view=rev
Log:
[APPS]
- Damir Aliev: Properly convert encoding in cmdline tools.
See issue #3487 for more details.
Modified:
trunk/reactos/base/applications/network/ipconfig/ipconfig.c
trunk/reactos/base/system/format/format.c
Modified: trunk/reactos/base/applications/network/ipconfig/ipconfig.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/network/…
==============================================================================
--- trunk/reactos/base/applications/network/ipconfig/ipconfig.c [iso-8859-1] (original)
+++ trunk/reactos/base/applications/network/ipconfig/ipconfig.c [iso-8859-1] Thu Nov 4
12:28:08 2010
@@ -25,6 +25,17 @@
HINSTANCE hInstance;
HANDLE ProcessHeap;
+int LoadStringAndOem(HINSTANCE hInst,
+ UINT uID,
+ LPTSTR szNode,
+ int Siz
+)
+{
+ TCHAR szTmp[25];
+ int res = LoadString(hInst, uID, szTmp, sizeof(szTmp));
+ CharToOem(szTmp, szNode);
+ return(res);
+}
LPTSTR GetNodeTypeName(UINT NodeType)
{
@@ -33,27 +44,27 @@
switch (NodeType)
{
case 1:
- if (!LoadString(hInstance, IDS_BCAST, szNode, sizeof(szNode)))
+ if (!LoadStringAndOem(hInstance, IDS_BCAST, szNode, sizeof(szNode)))
return NULL;
break;
case 2:
- if (!LoadString(hInstance, IDS_P2P, szNode, sizeof(szNode)))
+ if (!LoadStringAndOem(hInstance, IDS_P2P, szNode, sizeof(szNode)))
return NULL;
break;
case 4:
- if (!LoadString(hInstance, IDS_MIXED, szNode, sizeof(szNode)))
+ if (!LoadStringAndOem(hInstance, IDS_MIXED, szNode, sizeof(szNode)))
return NULL;
break;
case 8:
- if (!LoadString(hInstance, IDS_HYBRID, szNode, sizeof(szNode)))
+ if (!LoadStringAndOem(hInstance, IDS_HYBRID, szNode, sizeof(szNode)))
return NULL;
break;
default :
- if (!LoadString(hInstance, IDS_UNKNOWN, szNode, sizeof(szNode)))
+ if (!LoadStringAndOem(hInstance, IDS_UNKNOWN, szNode, sizeof(szNode)))
return NULL;
break;
}
@@ -69,42 +80,42 @@
switch (InterfaceType)
{
case MIB_IF_TYPE_OTHER:
- if (!LoadString(hInstance, IDS_OTHER, szIntType, sizeof(szIntType)))
+ if (!LoadStringAndOem(hInstance, IDS_OTHER, szIntType, sizeof(szIntType)))
return NULL;
break;
case MIB_IF_TYPE_ETHERNET:
- if (!LoadString(hInstance, IDS_ETH, szIntType, sizeof(szIntType)))
+ if (!LoadStringAndOem(hInstance, IDS_ETH, szIntType, sizeof(szIntType)))
return NULL;
break;
case MIB_IF_TYPE_TOKENRING:
- if (!LoadString(hInstance, IDS_TOKEN, szIntType, sizeof(szIntType)))
+ if (!LoadStringAndOem(hInstance, IDS_TOKEN, szIntType, sizeof(szIntType)))
return NULL;
break;
case MIB_IF_TYPE_FDDI:
- if (!LoadString(hInstance, IDS_FDDI, szIntType, sizeof(szIntType)))
+ if (!LoadStringAndOem(hInstance, IDS_FDDI, szIntType, sizeof(szIntType)))
return NULL;
break;
case MIB_IF_TYPE_PPP:
- if (!LoadString(hInstance, IDS_PPP, szIntType, sizeof(szIntType)))
+ if (!LoadStringAndOem(hInstance, IDS_PPP, szIntType, sizeof(szIntType)))
return NULL;
break;
case MIB_IF_TYPE_LOOPBACK:
- if (!LoadString(hInstance, IDS_LOOP, szIntType, sizeof(szIntType)))
+ if (!LoadStringAndOem(hInstance, IDS_LOOP, szIntType, sizeof(szIntType)))
return NULL;
break;
case MIB_IF_TYPE_SLIP:
- if (!LoadString(hInstance, IDS_SLIP, szIntType, sizeof(szIntType)))
+ if (!LoadStringAndOem(hInstance, IDS_SLIP, szIntType, sizeof(szIntType)))
return NULL;
break;
default:
- if (!LoadString(hInstance, IDS_UNKNOWN, szIntType, sizeof(szIntType)))
+ if (!LoadStringAndOem(hInstance, IDS_UNKNOWN, szIntType, sizeof(szIntType)))
return NULL;
break;
}
@@ -153,6 +164,7 @@
{
HKEY hKey = NULL;
LPTSTR ConType = NULL;
+ LPTSTR ConTypeTmp = NULL;
TCHAR Path[256];
LPTSTR PrePath =
_T("SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\");
LPTSTR PostPath = _T("\\Connection");
@@ -180,24 +192,34 @@
NULL,
&dwDataSize) == ERROR_SUCCESS)
{
+ ConTypeTmp = (LPTSTR)HeapAlloc(ProcessHeap,
+ 0,
+ dwDataSize);
+
ConType = (LPTSTR)HeapAlloc(ProcessHeap,
0,
dwDataSize);
- if (ConType)
+ if (ConType && ConTypeTmp)
{
if(RegQueryValueEx(hKey,
_T("Name"),
NULL,
&dwType,
- (PBYTE)ConType,
+ (PBYTE)ConTypeTmp,
&dwDataSize) != ERROR_SUCCESS)
{
HeapFree(ProcessHeap,
0,
ConType);
+ HeapFree(ProcessHeap,
+ 0,
+ ConTypeTmp);
+
ConType = NULL;
}
+
+ if (ConType) CharToOem(ConTypeTmp, ConType);
}
}
}
@@ -674,7 +696,7 @@
if (lpUsage == NULL)
return;
- if (LoadString(hInstance,
+ if (LoadStringAndOem(hInstance,
IDS_USAGE,
lpUsage,
Size))
Modified: trunk/reactos/base/system/format/format.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/system/format/format.…
==============================================================================
--- trunk/reactos/base/system/format/format.c [iso-8859-1] (original)
+++ trunk/reactos/base/system/format/format.c [iso-8859-1] Thu Nov 4 12:28:08 2010
@@ -48,6 +48,19 @@
};
+int LoadStringAndOem(HINSTANCE hInst,
+ UINT uID,
+ LPTSTR szStr,
+ int Siz
+)
+{
+ TCHAR szTmp[RC_STRING_MAX_SIZE];
+ int res = LoadString(hInst, uID, szTmp, sizeof(szTmp));
+ CharToOem(szTmp, szStr);
+ return(res);
+}
+
+
//----------------------------------------------------------------------
//
// PrintWin32Error
@@ -171,7 +184,7 @@
case PROGRESS:
percent = (PDWORD) Argument;
- LoadString( GetModuleHandle(NULL), STRING_COMPLETE, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_COMPLETE, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
_tprintf(szMsg, *percent);
break;
@@ -184,7 +197,7 @@
status = (PBOOLEAN) Argument;
if( *status == FALSE ) {
- LoadString( GetModuleHandle(NULL), STRING_FORMAT_FAIL, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_FORMAT_FAIL, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
_tprintf("%s", szMsg);
Error = TRUE;
}
@@ -203,7 +216,7 @@
case UNKNOWND:
case STRUCTUREPROGRESS:
case CLUSTERSIZETOOSMALL:
- LoadString( GetModuleHandle(NULL), STRING_NO_SUPPORT, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_NO_SUPPORT, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
_tprintf("%s", szMsg);
return FALSE;
}
@@ -261,7 +274,7 @@
BYTE dummy;
BOOLEAN lastestVersion;
- LoadString( GetModuleHandle(NULL), STRING_HELP, (LPTSTR) szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_HELP, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
if (!LoadFMIFSEntryPoints())
{
_tprintf(szMsg, ProgramName, _T(""));
@@ -319,7 +332,7 @@
// Get function pointers
//
if( !LoadFMIFSEntryPoints()) {
- LoadString( GetModuleHandle(NULL), STRING_FMIFS_FAIL, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_FMIFS_FAIL, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
_tprintf("%s", szMsg);
return -1;
}
@@ -329,7 +342,7 @@
//
if( (badArg = ParseCommandLine( argc, argv ))) {
- LoadString( GetModuleHandle(NULL), STRING_UNKNOW_ARG, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_UNKNOW_ARG, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
_tprintf(szMsg, argv[badArg] );
Usage(argv[0]);
@@ -341,7 +354,7 @@
//
if( !Drive ) {
- LoadString( GetModuleHandle(NULL), STRING_DRIVE_PARM, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_DRIVE_PARM, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
_tprintf(szMsg);
Usage( argv[0] );
return -1;
@@ -359,7 +372,7 @@
driveType = GetDriveType( RootDirectory );
if( driveType == 0 ) {
- LoadString( GetModuleHandle(NULL), STRING_ERROR_DRIVE_TYPE, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_ERROR_DRIVE_TYPE, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
PrintWin32Error( szMsg, GetLastError());
return -1;
}
@@ -371,7 +384,7 @@
}
if( driveType != DRIVE_FIXED ) {
- LoadString( GetModuleHandle(NULL), STRING_INSERT_DISK, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_INSERT_DISK, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
_tprintf(szMsg, RootDirectory[0] );
_fgetts( input, sizeof(input)/2, stdin );
@@ -386,7 +399,7 @@
&serialNumber, &maxComponent, &flags,
fileSystem, sizeof(fileSystem)/2)) {
- LoadString( GetModuleHandle(NULL), STRING_NO_VOLUME, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_NO_VOLUME, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
PrintWin32Error( szMsg, GetLastError());
return -1;
}
@@ -396,11 +409,11 @@
&totalNumberOfBytes,
&totalNumberOfFreeBytes )) {
- LoadString( GetModuleHandle(NULL), STRING_NO_VOLUME_SIZE, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_NO_VOLUME_SIZE, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
PrintWin32Error( szMsg, GetLastError());
return -1;
}
- LoadString( GetModuleHandle(NULL), STRING_FILESYSTEM, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_FILESYSTEM, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
_tprintf(szMsg, fileSystem );
//
@@ -412,7 +425,7 @@
while(1 ) {
- LoadString( GetModuleHandle(NULL), STRING_LABEL_NAME_EDIT, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_LABEL_NAME_EDIT, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
_tprintf(szMsg, RootDirectory[0] );
_fgetts( input, sizeof(input)/2, stdin );
input[ _tcslen( input ) - 1] = 0;
@@ -421,15 +434,15 @@
break;
}
- LoadString( GetModuleHandle(NULL), STRING_ERROR_LABEL, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_ERROR_LABEL, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
_tprintf("%s", szMsg);
}
}
- LoadString( GetModuleHandle(NULL), STRING_YN_FORMAT, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_YN_FORMAT, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
_tprintf(szMsg, RootDirectory[0] );
- LoadString( GetModuleHandle(NULL), STRING_YES_NO_FAQ, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_YES_NO_FAQ, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
while( 1 ) {
_fgetts( input, sizeof(input)/2, stdin );
@@ -460,7 +473,7 @@
}
} else {
- LoadString( GetModuleHandle(NULL), STRING_FAST_FMT, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_FAST_FMT, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
if( totalNumberOfBytes.QuadPart > 1024*1024*10 ) {
_tprintf(_T("%s %luM\n"),szMsg, (DWORD)
(totalNumberOfBytes.QuadPart/(1024*1024)));
@@ -470,7 +483,7 @@
_tprintf(_T("%s %.2fM\n"),szMsg,
((float)(LONGLONG)totalNumberOfBytes.QuadPart)/(float)(1024.0*1024.0));
}
- LoadString( GetModuleHandle(NULL), STRING_CREATE_FSYS, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_CREATE_FSYS, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
_tprintf("%s", szMsg);
}
@@ -488,7 +501,7 @@
ClusterSize, FormatExCallback );
#endif
if( Error ) return -1;
- LoadString( GetModuleHandle(NULL), STRING_FMT_COMPLETE, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_FMT_COMPLETE, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
_tprintf("%s", szMsg);
//
@@ -503,7 +516,7 @@
if( !EnableVolumeCompression( RootDirectory, TRUE )) {
#endif
- LoadString( GetModuleHandle(NULL), STRING_VOL_COMPRESS, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_VOL_COMPRESS, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
_tprintf("%s", szMsg);
}
}
@@ -520,7 +533,7 @@
input[ _tcslen(input)-1] = 0;
if( !SetVolumeLabel( RootDirectory, input )) {
- LoadString( GetModuleHandle(NULL), STRING_NO_LABEL, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_NO_LABEL, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
PrintWin32Error(szMsg, GetLastError());
return -1;
}
@@ -531,7 +544,7 @@
&serialNumber, &maxComponent, &flags,
fileSystem, sizeof(fileSystem)/2)) {
- LoadString( GetModuleHandle(NULL), STRING_NO_VOLUME, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_NO_VOLUME, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
PrintWin32Error( szMsg, GetLastError());
return -1;
}
@@ -544,12 +557,12 @@
&totalNumberOfBytes,
&totalNumberOfFreeBytes )) {
- LoadString( GetModuleHandle(NULL), STRING_NO_VOLUME_SIZE, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_NO_VOLUME_SIZE, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
PrintWin32Error(szMsg, GetLastError());
return -1;
}
- LoadString( GetModuleHandle(NULL), STRING_FREE_SPACE, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_FREE_SPACE, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
_tprintf(szMsg, totalNumberOfBytes.QuadPart, totalNumberOfFreeBytes.QuadPart );
//
@@ -560,11 +573,11 @@
&serialNumber, &maxComponent, &flags,
fileSystem, sizeof(fileSystem)/2)) {
- LoadString( GetModuleHandle(NULL), STRING_NO_VOLUME, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_NO_VOLUME, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
PrintWin32Error( szMsg, GetLastError());
return -1;
}
- LoadString( GetModuleHandle(NULL), STRING_SERIAL_NUMBER, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
+ LoadStringAndOem( GetModuleHandle(NULL), STRING_SERIAL_NUMBER, (LPTSTR)
szMsg,RC_STRING_MAX_SIZE);
_tprintf(szMsg, (unsigned int)(serialNumber >> 16),
(unsigned int)(serialNumber & 0xFFFF) );