From: Jeffrey Altman Date: Sat, 4 Dec 2010 23:03:21 +0000 (-0500) Subject: Windows: Build afs_shl_ext.dll with talocaleU.lib X-Git-Tag: upstream/1.6.0.pre2^2~114 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=c53868fe2819c76249ccbae2a6f38ec546a33174;p=packages%2Fo%2Fopenafs.git Windows: Build afs_shl_ext.dll with talocaleU.lib Use the Unicode version of talocale to properly read resource strings. Reviewed-on: http://gerrit.openafs.org/3442 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 6fe9313180dfe1d509ae97a1e16a67195357cf7b) Change-Id: I38b4b45e6868283a7f59071f6326389dd569ea2d Reviewed-on: http://gerrit.openafs.org/3790 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- diff --git a/src/WINNT/client_exp/NTMakefile b/src/WINNT/client_exp/NTMakefile index 216b1393e..ba62a6a73 100644 --- a/src/WINNT/client_exp/NTMakefile +++ b/src/WINNT/client_exp/NTMakefile @@ -69,7 +69,7 @@ DLLLIBS =\ $(DESTDIR)\lib\libafsconf.lib \ $(DESTDIR)\lib\libosi.lib \ $(DESTDIR)\lib\afs\afsreg.lib \ - $(DESTDIR)\lib\afs\TaLocale.lib \ + $(DESTDIR)\lib\afs\TaLocaleU.lib \ $(DESTDIR)\lib\afs\afsutil.lib $(DLLFILE): $(DLLOBJS) $(DLLLIBS) diff --git a/src/WINNT/client_exp/afs_shl_ext.cpp b/src/WINNT/client_exp/afs_shl_ext.cpp index 2d0644400..88166df5d 100644 --- a/src/WINNT/client_exp/afs_shl_ext.cpp +++ b/src/WINNT/client_exp/afs_shl_ext.cpp @@ -24,6 +24,7 @@ extern "C" { extern "C" { #include "WINNT\afsreg.h" } +#include "WINNT\talocale.h" #define STRSAFE_NO_DEPRECATE #include @@ -82,10 +83,8 @@ HINSTANCE g_hInstance; BOOL CAfsShlExt::InitInstance() { - extern EXPORTED HINSTANCE TaLocale_LoadCorrespondingModuleByName (HINSTANCE hInstance, LPSTR pszFilename, WORD wSearchPriority = MODULE_PRIORITY_BOOSTED); - // Load our translated resources - TaLocale_LoadCorrespondingModuleByName (m_hInstance, "afs_shl_ext.dll"); + TaLocale_LoadCorrespondingModuleByName (m_hInstance, TEXT("afs_shl_ext.dll")); // Register all OLE server (factories) as running. This enables the // OLE libraries to create objects from other applications. @@ -218,7 +217,7 @@ STDAPI DllRegisterServer(void) if(VER_PLATFORM_WIN32_NT == osvi.dwPlatformId) { wsprintf(szSubKey, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved")); - if ((lResult=DoRegCLSID(HKEY_LOCAL_MACHINE,szSubKey,_TEXT(STR_EXT_TITLE),szCLSID))!=NOERROR) + if ((lResult=DoRegCLSID(HKEY_LOCAL_MACHINE,szSubKey,STR_EXT_TITLE,szCLSID))!=NOERROR) return lResult; } wsprintf(szSubKey, TEXT("*\\shellex\\ContextMenuHandlers\\%s"),STR_EXT_TITLE); @@ -294,7 +293,7 @@ STDAPI DllRegisterServer(void) TCHAR szData[MAX_PATH]; //Create the value string. - lstrcpy(szData, _TEXT(STR_EXT_TITLE)); + lstrcpy(szData, STR_EXT_TITLE); lResult = RegSetValueEx( hKey, szCLSID, @@ -360,7 +359,7 @@ STDAPI DllRegisterServer(void) if(VER_PLATFORM_WIN32_NT == osvi.dwPlatformId) { wsprintf(szSubKey, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved")); - if ((lResult=DoRegCLSID(HKEY_LOCAL_MACHINE,szSubKey,_TEXT(STR_EXT_TITLE2),szCLSID))!=NOERROR) + if ((lResult=DoRegCLSID(HKEY_LOCAL_MACHINE,szSubKey,STR_EXT_TITLE2,szCLSID))!=NOERROR) return lResult; } diff --git a/src/WINNT/client_exp/msgs.cpp b/src/WINNT/client_exp/msgs.cpp index 5ec71092d..2fa7d32e1 100644 --- a/src/WINNT/client_exp/msgs.cpp +++ b/src/WINNT/client_exp/msgs.cpp @@ -20,6 +20,7 @@ extern "C" { #include #include "msgs.h" +#include @@ -404,9 +405,7 @@ CString GetMessageString(UINT Id, ...) void LoadString (CString &Str, UINT id) { - extern EXPORTED void GetString (LPSTR pszTarget, int idsSource, int cchMax = cchRESOURCE); - - char szString[ 256 ]; + TCHAR szString[ 256 ]; GetString (szString, id); #ifdef UNICODE CString wstr(szString); diff --git a/src/WINNT/client_exp/shell_ext.cpp b/src/WINNT/client_exp/shell_ext.cpp index 12c134d80..9715ff225 100644 --- a/src/WINNT/client_exp/shell_ext.cpp +++ b/src/WINNT/client_exp/shell_ext.cpp @@ -155,12 +155,12 @@ END_INTERFACE_MAP() #ifndef _WIN64 // 32-bit -IMPLEMENT_OLECREATE(CShellExt, STR_EXT_TITLE, 0xdc515c27, 0x6cac, 0x11d1, 0xba, 0xe7, 0x0, 0xc0, 0x4f, 0xd1, 0x40, 0xd2) -IMPLEMENT_OLECREATE(CShellExt2, STR_EXT_TITLE, 0xdc515c27, 0x6cac, 0x11d1, 0xba, 0xe7, 0x0, 0xc0, 0x4f, 0xd1, 0x40, 0xd3) +IMPLEMENT_OLECREATE(CShellExt, _STR_EXT_TITLE, 0xdc515c27, 0x6cac, 0x11d1, 0xba, 0xe7, 0x0, 0xc0, 0x4f, 0xd1, 0x40, 0xd2) +IMPLEMENT_OLECREATE(CShellExt2, _STR_EXT_TITLE, 0xdc515c27, 0x6cac, 0x11d1, 0xba, 0xe7, 0x0, 0xc0, 0x4f, 0xd1, 0x40, 0xd3) #else // 64-bit -IMPLEMENT_OLECREATE(CShellExt, STR_EXT_TITLE, 0x5f820ca1, 0x3dde, 0x11db, 0xb2, 0xce, 0x0, 0x15, 0x58, 0x09, 0x2d, 0xb5) -IMPLEMENT_OLECREATE(CShellExt2, STR_EXT_TITLE, 0x5f820ca1, 0x3dde, 0x11db, 0xb2, 0xce, 0x0, 0x15, 0x58, 0x09, 0x2d, 0xb6) +IMPLEMENT_OLECREATE(CShellExt, _STR_EXT_TITLE, 0x5f820ca1, 0x3dde, 0x11db, 0xb2, 0xce, 0x0, 0x15, 0x58, 0x09, 0x2d, 0xb5) +IMPLEMENT_OLECREATE(CShellExt2, _STR_EXT_TITLE, 0x5f820ca1, 0x3dde, 0x11db, 0xb2, 0xce, 0x0, 0x15, 0x58, 0x09, 0x2d, 0xb6) #endif diff --git a/src/WINNT/client_exp/shell_ext.h b/src/WINNT/client_exp/shell_ext.h index 46f21bbbb..9e0a9c786 100644 --- a/src/WINNT/client_exp/shell_ext.h +++ b/src/WINNT/client_exp/shell_ext.h @@ -24,8 +24,10 @@ extern ULONG nICRefCount; // IContextMenu ref count extern ULONG nTPRefCount; // IQueryInfo ref count extern ULONG nXPRefCount; // IPersistFile ref count -#define STR_EXT_TITLE "AfsClientContextMenu" -#define STR_EXT_TITLE2 "AfsClientOverlayHandler" +#define _STR_EXT_TITLE "AfsClientContextMenu" +#define _STR_EXT_TITLE2 "AfsClientOverlayHandler" +#define STR_EXT_TITLE TEXT(_STR_EXT_TITLE) +#define STR_EXT_TITLE2 TEXT(_STR_EXT_TITLE2) #define STR_REG_PATH TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ShellIconOverlayIdentifiers") /////////////////////////////////////////////////////////////////////////////