Commit c4a9a296 authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

oleaut32: Use wide-char string literals.

parent 067c0772
......@@ -505,9 +505,6 @@ void WINAPI SetOaNoCache(void)
bstr_cache_enabled = FALSE;
}
static const WCHAR _delimiter[] = {'!',0}; /* default delimiter apparently */
static const WCHAR *pdelimiter = &_delimiter[0];
/***********************************************************************
* RegisterActiveObject (OLEAUT32.33)
*
......@@ -533,7 +530,7 @@ HRESULT WINAPI DECLSPEC_HOTPATCH RegisterActiveObject(
DWORD rot_flags = ROTFLAGS_REGISTRATIONKEEPSALIVE; /* default registration is strong */
StringFromGUID2(rcid,guidbuf,39);
ret = CreateItemMoniker(pdelimiter,guidbuf,&moniker);
ret = CreateItemMoniker(L"!", guidbuf, &moniker);
if (FAILED(ret))
return ret;
ret = GetRunningObjectTable(0,&runobtable);
......@@ -597,7 +594,7 @@ HRESULT WINAPI DECLSPEC_HOTPATCH GetActiveObject(REFCLSID rcid,LPVOID preserved,
LPMONIKER moniker;
StringFromGUID2(rcid,guidbuf,39);
ret = CreateItemMoniker(pdelimiter,guidbuf,&moniker);
ret = CreateItemMoniker(L"!", guidbuf, &moniker);
if (FAILED(ret))
return ret;
ret = GetRunningObjectTable(0,&runobtable);
......@@ -1104,10 +1101,8 @@ HRESULT WINAPI DllCanUnloadNow(void)
*/
BOOL WINAPI DllMain(HINSTANCE hInstDll, DWORD fdwReason, LPVOID lpvReserved)
{
static const WCHAR oanocacheW[] = {'o','a','n','o','c','a','c','h','e',0};
if(fdwReason == DLL_PROCESS_ATTACH)
bstr_cache_enabled = !GetEnvironmentVariableW(oanocacheW, NULL, 0);
bstr_cache_enabled = !GetEnvironmentVariableW(L"oanocache", NULL, 0);
return OLEAUTPS_DllMain( hInstDll, fdwReason, lpvReserved );
}
......@@ -1173,33 +1168,23 @@ HRESULT WINAPI GetAltMonthNames(LCID lcid, LPOLESTR **str)
NULL
};
static const WCHAR pl_month1W[] = {'s','t','y','c','z','n','i','a',0};
static const WCHAR pl_month2W[] = {'l','u','t','e','g','o',0};
static const WCHAR pl_month3W[] = {'m','a','r','c','a',0};
static const WCHAR pl_month4W[] = {'k','w','i','e','t','n','i','a',0};
static const WCHAR pl_month5W[] = {'m','a','j','a',0};
static const WCHAR pl_month6W[] = {'c','z','e','r','w','c','a',0};
static const WCHAR pl_month7W[] = {'l','i','p','c','a',0};
static const WCHAR pl_month8W[] = {'s','i','e','r','p','n','i','a',0};
static const WCHAR pl_month9W[] = {'w','r','z','e',0x15b,'n','i','a',0};
static const WCHAR pl_month10W[] = {'p','a',0x17a,'d','z','i','e','r','n','i','k','a',0};
static const WCHAR pl_month11W[] = {'l','i','s','t','o','p','a','d','a',0};
static const WCHAR pl_month12W[] = {'g','r','u','d','n','i','a',0};
static const WCHAR *polish_genitive_names[] =
{
pl_month1W,
pl_month2W,
pl_month3W,
pl_month4W,
pl_month5W,
pl_month6W,
pl_month7W,
pl_month8W,
L"stycznia",
L"lutego",
L"marca",
L"kwietnia",
L"maja",
L"czerwca",
L"lipca",
L"sierpnia",
pl_month9W,
pl_month10W,
pl_month11W,
pl_month12W,
L"listopada",
L"grudnia",
NULL
};
......
......@@ -374,25 +374,17 @@ HRESULT WINAPI OleCreateFontIndirect(
*/
static void OLEFont_SendNotify(OLEFontImpl* this, DISPID dispID)
{
static const WCHAR wszName[] = {'N','a','m','e',0};
static const WCHAR wszSize[] = {'S','i','z','e',0};
static const WCHAR wszBold[] = {'B','o','l','d',0};
static const WCHAR wszItalic[] = {'I','t','a','l','i','c',0};
static const WCHAR wszUnder[] = {'U','n','d','e','r','l','i','n','e',0};
static const WCHAR wszStrike[] = {'S','t','r','i','k','e','t','h','r','o','u','g','h',0};
static const WCHAR wszWeight[] = {'W','e','i','g','h','t',0};
static const WCHAR wszCharset[] = {'C','h','a','r','s','e','t',0};
static const LPCWSTR dispid_mapping[] =
{
wszName,
NULL,
wszSize,
wszBold,
wszItalic,
wszUnder,
wszStrike,
wszWeight,
wszCharset
L"Name",
NULL,
L"Size",
L"Bold",
L"Italic",
L"Underline",
L"Strikethrough",
L"Weight",
L"Charset"
};
IEnumConnections *pEnum;
......@@ -1237,7 +1229,6 @@ static HRESULT WINAPI OLEFontImpl_GetTypeInfo(
LCID lcid,
ITypeInfo** ppTInfo)
{
static const WCHAR stdole2tlb[] = {'s','t','d','o','l','e','2','.','t','l','b',0};
ITypeLib *tl;
HRESULT hres;
......@@ -1245,7 +1236,7 @@ static HRESULT WINAPI OLEFontImpl_GetTypeInfo(
TRACE("(%p, iTInfo=%d, lcid=%04x, %p)\n", this, iTInfo, (int)lcid, ppTInfo);
if (iTInfo != 0)
return E_FAIL;
hres = LoadTypeLib(stdole2tlb, &tl);
hres = LoadTypeLib(L"stdole2.tlb", &tl);
if (FAILED(hres)) {
ERR("Could not load the stdole2.tlb?\n");
return hres;
......@@ -1912,20 +1903,13 @@ static HRESULT WINAPI OLEFontImpl_IPersistPropertyBag_Load(
Italic = 0 'False
Strikethrough = 0 'False
*/
static const WCHAR sAttrName[] = {'N','a','m','e',0};
static const WCHAR sAttrSize[] = {'S','i','z','e',0};
static const WCHAR sAttrCharset[] = {'C','h','a','r','s','e','t',0};
static const WCHAR sAttrWeight[] = {'W','e','i','g','h','t',0};
static const WCHAR sAttrUnderline[] = {'U','n','d','e','r','l','i','n','e',0};
static const WCHAR sAttrItalic[] = {'I','t','a','l','i','c',0};
static const WCHAR sAttrStrikethrough[] = {'S','t','r','i','k','e','t','h','r','o','u','g','h',0};
OLEFontImpl *this = impl_from_IPersistPropertyBag(iface);
VARIANT value;
HRESULT iRes;
VariantInit(&value);
iRes = IPropertyBag_Read(pPropBag, sAttrName, &value, pErrorLog);
iRes = IPropertyBag_Read(pPropBag, L"Name", &value, pErrorLog);
if (iRes == S_OK)
{
iRes = VariantChangeType(&value, &value, 0, VT_BSTR);
......@@ -1938,7 +1922,7 @@ static HRESULT WINAPI OLEFontImpl_IPersistPropertyBag_Load(
VariantClear(&value);
if (iRes == S_OK) {
iRes = IPropertyBag_Read(pPropBag, sAttrSize, &value, pErrorLog);
iRes = IPropertyBag_Read(pPropBag, L"Size", &value, pErrorLog);
if (iRes == S_OK)
{
iRes = VariantChangeType(&value, &value, 0, VT_CY);
......@@ -1952,7 +1936,7 @@ static HRESULT WINAPI OLEFontImpl_IPersistPropertyBag_Load(
}
if (iRes == S_OK) {
iRes = IPropertyBag_Read(pPropBag, sAttrCharset, &value, pErrorLog);
iRes = IPropertyBag_Read(pPropBag, L"Charset", &value, pErrorLog);
if (iRes == S_OK)
{
iRes = VariantChangeType(&value, &value, 0, VT_I2);
......@@ -1966,7 +1950,7 @@ static HRESULT WINAPI OLEFontImpl_IPersistPropertyBag_Load(
}
if (iRes == S_OK) {
iRes = IPropertyBag_Read(pPropBag, sAttrWeight, &value, pErrorLog);
iRes = IPropertyBag_Read(pPropBag, L"Weight", &value, pErrorLog);
if (iRes == S_OK)
{
iRes = VariantChangeType(&value, &value, 0, VT_I2);
......@@ -1980,7 +1964,7 @@ static HRESULT WINAPI OLEFontImpl_IPersistPropertyBag_Load(
}
if (iRes == S_OK) {
iRes = IPropertyBag_Read(pPropBag, sAttrUnderline, &value, pErrorLog);
iRes = IPropertyBag_Read(pPropBag, L"Underline", &value, pErrorLog);
if (iRes == S_OK)
{
iRes = VariantChangeType(&value, &value, 0, VT_BOOL);
......@@ -1994,7 +1978,7 @@ static HRESULT WINAPI OLEFontImpl_IPersistPropertyBag_Load(
}
if (iRes == S_OK) {
iRes = IPropertyBag_Read(pPropBag, sAttrItalic, &value, pErrorLog);
iRes = IPropertyBag_Read(pPropBag, L"Italic", &value, pErrorLog);
if (iRes == S_OK)
{
iRes = VariantChangeType(&value, &value, 0, VT_BOOL);
......@@ -2008,7 +1992,7 @@ static HRESULT WINAPI OLEFontImpl_IPersistPropertyBag_Load(
}
if (iRes == S_OK) {
iRes = IPropertyBag_Read(pPropBag, sAttrStrikethrough, &value, pErrorLog);
iRes = IPropertyBag_Read(pPropBag, L"Strikethrough", &value, pErrorLog);
if (iRes == S_OK)
{
iRes = VariantChangeType(&value, &value, 0, VT_BOOL);
......
......@@ -1947,7 +1947,6 @@ static HRESULT WINAPI OLEPictureImpl_GetTypeInfo(
LCID lcid,
ITypeInfo** ppTInfo)
{
static const WCHAR stdole2tlb[] = {'s','t','d','o','l','e','2','.','t','l','b',0};
ITypeLib *tl;
HRESULT hres;
......@@ -1956,7 +1955,7 @@ static HRESULT WINAPI OLEPictureImpl_GetTypeInfo(
if (iTInfo != 0)
return E_FAIL;
hres = LoadTypeLib(stdole2tlb, &tl);
hres = LoadTypeLib(L"stdole2.tlb", &tl);
if (FAILED(hres))
{
ERR("Could not load stdole2.tlb\n");
......@@ -2353,7 +2352,6 @@ HRESULT WINAPI OleLoadPicturePath( LPOLESTR szURLorPath, LPUNKNOWN punkCaller,
DWORD dwReserved, OLE_COLOR clrReserved, REFIID riid,
LPVOID *ppvRet )
{
static const WCHAR file[] = { 'f','i','l','e',':',0 };
IPicture *ipicture;
HANDLE hFile;
DWORD dwFileSize;
......@@ -2377,7 +2375,7 @@ HRESULT WINAPI OleLoadPicturePath( LPOLESTR szURLorPath, LPUNKNOWN punkCaller,
*ppvRet = NULL;
/* Convert file URLs to DOS paths. */
if (wcsncmp(szURLorPath, file, 5) == 0) {
if (wcsncmp(szURLorPath, L"file:", 5) == 0) {
DWORD size;
hRes = CoInternetParseUrl(szURLorPath, PARSE_PATH_FROM_URL, 0, path_buf,
ARRAY_SIZE(path_buf), &size, 0);
......
......@@ -154,8 +154,6 @@ static IPropertyPageSiteVtbl PropertyPageSiteVtbl = {
*/
HRESULT WINAPI OleCreatePropertyFrameIndirect(LPOCPFIPARAMS lpParams)
{
static const WCHAR comctlW[] = { 'c','o','m','c','t','l','3','2','.','d','l','l',0 };
PROPSHEETHEADERW property_sheet;
PROPSHEETPAGEW property_sheet_page;
struct {
......@@ -198,7 +196,7 @@ HRESULT WINAPI OleCreatePropertyFrameIndirect(LPOCPFIPARAMS lpParams)
FIXME("dispidInitialProperty not yet implemented\n");
hdc = GetDC(NULL);
hcomctl = LoadLibraryW(comctlW);
hcomctl = LoadLibraryW(L"comctl32.dll");
if(hcomctl)
property_sheet_dialog_find = FindResourceW(hcomctl,
MAKEINTRESOURCEW(1006 /*IDD_PROPSHEET*/), (LPWSTR)RT_DIALOG);
......
......@@ -171,14 +171,13 @@ static void FromLEDWords(void *p_Val, int p_iSize)
*/
static BOOL find_typelib_key( REFGUID guid, WORD *wMaj, WORD *wMin )
{
static const WCHAR typelibW[] = {'T','y','p','e','l','i','b','\\',0};
WCHAR buffer[60];
char key_name[16];
DWORD len, i;
INT best_maj = -1, best_min = -1;
HKEY hkey;
memcpy( buffer, typelibW, sizeof(typelibW) );
lstrcpyW( buffer, L"Typelib\\" );
StringFromGUID2( guid, buffer + lstrlenW(buffer), 40 );
if (RegOpenKeyExW( HKEY_CLASSES_ROOT, buffer, 0, KEY_READ, &hkey ) != ERROR_SUCCESS)
......@@ -239,12 +238,9 @@ static BOOL find_typelib_key( REFGUID guid, WORD *wMaj, WORD *wMin )
/* buffer must be at least 60 characters long */
static WCHAR *get_typelib_key( REFGUID guid, WORD wMaj, WORD wMin, WCHAR *buffer )
{
static const WCHAR TypelibW[] = {'T','y','p','e','l','i','b','\\',0};
static const WCHAR VersionFormatW[] = {'\\','%','x','.','%','x',0};
memcpy( buffer, TypelibW, sizeof(TypelibW) );
lstrcpyW( buffer, L"Typelib\\" );
StringFromGUID2( guid, buffer + lstrlenW(buffer), 40 );
swprintf( buffer + lstrlenW(buffer), 20, VersionFormatW, wMaj, wMin );
swprintf( buffer + lstrlenW(buffer), 20, L"\\%x.%x", wMaj, wMin );
return buffer;
}
......@@ -252,9 +248,7 @@ static WCHAR *get_typelib_key( REFGUID guid, WORD wMaj, WORD wMin, WCHAR *buffer
/* buffer must be at least 50 characters long */
static WCHAR *get_interface_key( REFGUID guid, WCHAR *buffer )
{
static const WCHAR InterfaceW[] = {'I','n','t','e','r','f','a','c','e','\\',0};
memcpy( buffer, InterfaceW, sizeof(InterfaceW) );
lstrcpyW( buffer, L"Interface\\" );
StringFromGUID2( guid, buffer + lstrlenW(buffer), 40 );
return buffer;
}
......@@ -263,17 +257,12 @@ static WCHAR *get_interface_key( REFGUID guid, WCHAR *buffer )
/* buffer must be at least 16 characters long */
static WCHAR *get_lcid_subkey( LCID lcid, SYSKIND syskind, WCHAR *buffer )
{
static const WCHAR LcidFormatW[] = {'%','l','x','\\',0};
static const WCHAR win16W[] = {'w','i','n','1','6',0};
static const WCHAR win32W[] = {'w','i','n','3','2',0};
static const WCHAR win64W[] = {'w','i','n','6','4',0};
swprintf( buffer, 16, LcidFormatW, lcid );
swprintf( buffer, 16, L"%lx\\", lcid );
switch(syskind)
{
case SYS_WIN16: lstrcatW( buffer, win16W ); break;
case SYS_WIN32: lstrcatW( buffer, win32W ); break;
case SYS_WIN64: lstrcatW( buffer, win64W ); break;
case SYS_WIN16: lstrcatW( buffer, L"win16" ); break;
case SYS_WIN32: lstrcatW( buffer, L"win32" ); break;
case SYS_WIN64: lstrcatW( buffer, L"win64" ); break;
default:
TRACE("Typelib is for unsupported syskind %i\n", syskind);
return NULL;
......@@ -562,26 +551,11 @@ HRESULT WINAPI LoadRegTypeLib(
return res;
}
/* some string constants shared between RegisterTypeLib and UnRegisterTypeLib */
static const WCHAR TypeLibW[] = {'T','y','p','e','L','i','b',0};
static const WCHAR FLAGSW[] = {'F','L','A','G','S',0};
static const WCHAR HELPDIRW[] = {'H','E','L','P','D','I','R',0};
static const WCHAR ProxyStubClsidW[] = {'P','r','o','x','y','S','t','u','b','C','l','s','i','d',0};
static const WCHAR ProxyStubClsid32W[] = {'P','r','o','x','y','S','t','u','b','C','l','s','i','d','3','2',0};
static void TLB_register_interface(TLIBATTR *libattr, LPOLESTR name, TYPEATTR *tattr, DWORD flag)
{
WCHAR keyName[60];
HKEY key, subKey;
static const WCHAR typelib_proxy_clsid[] = {'{','0','0','0','2','0','4','2','4','-',
'0','0','0','0','-','0','0','0','0','-','C','0','0','0','-',
'0','0','0','0','0','0','0','0','0','0','4','6','}',0};
static const WCHAR dispatch_proxy_clsid[] = {'{','0','0','0','2','0','4','2','0','-',
'0','0','0','0','-','0','0','0','0','-','C','0','0','0','-',
'0','0','0','0','0','0','0','0','0','0','4','6','}',0};
get_interface_key( &tattr->guid, keyName );
if (RegCreateKeyExW(HKEY_CLASSES_ROOT, keyName, 0, NULL, 0,
KEY_WRITE | flag, NULL, &key, NULL) == ERROR_SUCCESS)
......@@ -589,41 +563,36 @@ static void TLB_register_interface(TLIBATTR *libattr, LPOLESTR name, TYPEATTR *t
const WCHAR *proxy_clsid;
if (tattr->typekind == TKIND_INTERFACE || (tattr->wTypeFlags & TYPEFLAG_FDUAL))
proxy_clsid = typelib_proxy_clsid;
proxy_clsid = L"{00020424-0000-0000-C000-000000000046}";
else
proxy_clsid = dispatch_proxy_clsid;
proxy_clsid = L"{00020420-0000-0000-C000-000000000046}";
if (name)
RegSetValueExW(key, NULL, 0, REG_SZ,
(BYTE *)name, (lstrlenW(name)+1) * sizeof(OLECHAR));
if (RegCreateKeyExW(key, ProxyStubClsidW, 0, NULL, 0,
KEY_WRITE | flag, NULL, &subKey, NULL) == ERROR_SUCCESS) {
RegSetValueExW(subKey, NULL, 0, REG_SZ,
(const BYTE *)proxy_clsid, sizeof(typelib_proxy_clsid));
if (!RegCreateKeyExW(key, L"ProxyStubClsid", 0, NULL, 0, KEY_WRITE | flag, NULL, &subKey, NULL))
{
RegSetValueExW(subKey, NULL, 0, REG_SZ, (const BYTE *)proxy_clsid, (lstrlenW(proxy_clsid) + 1) * sizeof(WCHAR));
RegCloseKey(subKey);
}
if (RegCreateKeyExW(key, ProxyStubClsid32W, 0, NULL, 0,
KEY_WRITE | flag, NULL, &subKey, NULL) == ERROR_SUCCESS) {
RegSetValueExW(subKey, NULL, 0, REG_SZ,
(const BYTE *)proxy_clsid, sizeof(typelib_proxy_clsid));
if (!RegCreateKeyExW(key, L"ProxyStubClsid32", 0, NULL, 0, KEY_WRITE | flag, NULL, &subKey, NULL))
{
RegSetValueExW(subKey, NULL, 0, REG_SZ, (const BYTE *)proxy_clsid, (lstrlenW(proxy_clsid) + 1) * sizeof(WCHAR));
RegCloseKey(subKey);
}
if (RegCreateKeyExW(key, TypeLibW, 0, NULL, 0,
if (RegCreateKeyExW(key, L"TypeLib", 0, NULL, 0,
KEY_WRITE | flag, NULL, &subKey, NULL) == ERROR_SUCCESS)
{
WCHAR buffer[40];
static const WCHAR fmtver[] = {'%','x','.','%','x',0 };
static const WCHAR VersionW[] = {'V','e','r','s','i','o','n',0};
StringFromGUID2(&libattr->guid, buffer, 40);
RegSetValueExW(subKey, NULL, 0, REG_SZ,
(BYTE *)buffer, (lstrlenW(buffer)+1) * sizeof(WCHAR));
swprintf(buffer, ARRAY_SIZE(buffer), fmtver, libattr->wMajorVerNum, libattr->wMinorVerNum);
RegSetValueExW(subKey, VersionW, 0, REG_SZ,
(BYTE*)buffer, (lstrlenW(buffer)+1) * sizeof(WCHAR));
swprintf(buffer, ARRAY_SIZE(buffer), L"%x.%x", libattr->wMajorVerNum, libattr->wMinorVerNum);
RegSetValueExW(subKey, L"Version", 0, REG_SZ, (BYTE *)buffer, (lstrlenW(buffer)+1) * sizeof(WCHAR));
RegCloseKey(subKey);
}
......@@ -701,13 +670,13 @@ HRESULT WINAPI RegisterTypeLib(ITypeLib *ptlib, const WCHAR *szFullPath, const W
res = E_FAIL;
/* Create the flags subkey */
if (res == S_OK && RegCreateKeyExW(key, FLAGSW, 0, NULL, 0,
if (res == S_OK && RegCreateKeyExW(key, L"FLAGS", 0, NULL, 0,
KEY_WRITE, NULL, &subKey, NULL) == ERROR_SUCCESS)
{
/* FIXME: is %u correct? */
static const WCHAR formatW[] = {'%','u',0};
WCHAR buf[20];
swprintf(buf, ARRAY_SIZE(buf), formatW, attr->wLibFlags);
/* FIXME: is %u correct? */
swprintf(buf, ARRAY_SIZE(buf), L"%u", attr->wLibFlags);
if (RegSetValueExW(subKey, NULL, 0, REG_SZ,
(BYTE *)buf, (lstrlenW(buf) + 1)*sizeof(WCHAR) ) != ERROR_SUCCESS)
res = E_FAIL;
......@@ -718,7 +687,7 @@ HRESULT WINAPI RegisterTypeLib(ITypeLib *ptlib, const WCHAR *szFullPath, const W
res = E_FAIL;
/* create the helpdir subkey */
if (res == S_OK && RegCreateKeyExW(key, HELPDIRW, 0, NULL, 0,
if (res == S_OK && RegCreateKeyExW(key, L"HELPDIR", 0, NULL, 0,
KEY_WRITE, NULL, &subKey, &disposition) == ERROR_SUCCESS)
{
BSTR freeHelpDir = NULL;
......@@ -862,9 +831,9 @@ static void TLB_unregister_interface(GUID *guid, REGSAM flag)
if (RegOpenKeyExW(HKEY_CLASSES_ROOT, subKeyName, 0, KEY_WRITE | flag, &subKey) != ERROR_SUCCESS)
return;
RegDeleteKeyW(subKey, ProxyStubClsidW);
RegDeleteKeyW(subKey, ProxyStubClsid32W);
RegDeleteKeyW(subKey, TypeLibW);
RegDeleteKeyW(subKey, L"ProxyStubClsid");
RegDeleteKeyW(subKey, L"ProxyStubClsid32");
RegDeleteKeyW(subKey, L"TypeLib");
RegCloseKey(subKey);
RegDeleteKeyExW(HKEY_CLASSES_ROOT, subKeyName, flag, 0);
}
......@@ -985,16 +954,16 @@ enddeleteloop:
tmpLength = ARRAY_SIZE(subKeyName);
/* if its not FLAGS or HELPDIR, then we must keep the rest of the key */
if (!wcscmp(subKeyName, FLAGSW)) continue;
if (!wcscmp(subKeyName, HELPDIRW)) continue;
if (!wcscmp(subKeyName, L"FLAGS")) continue;
if (!wcscmp(subKeyName, L"HELPDIR")) continue;
deleteOtherStuff = FALSE;
break;
}
/* only delete the other parts of the key if we're absolutely sure */
if (deleteOtherStuff) {
RegDeleteKeyW(key, FLAGSW);
RegDeleteKeyW(key, HELPDIRW);
RegDeleteKeyW(key, L"FLAGS");
RegDeleteKeyW(key, L"HELPDIR");
RegCloseKey(key);
key = NULL;
......@@ -2970,8 +2939,7 @@ static HRESULT TLB_PEFile_Open(LPCWSTR path, INT index, LPVOID *ppBase, DWORD *p
if (This->dll)
{
static const WCHAR TYPELIBW[] = {'T','Y','P','E','L','I','B',0};
This->typelib_resource = FindResourceW(This->dll, MAKEINTRESOURCEW(index), TYPELIBW);
This->typelib_resource = FindResourceW(This->dll, MAKEINTRESOURCEW(index), L"TYPELIB");
if (This->typelib_resource)
{
This->typelib_global = LoadResource(This->dll, This->typelib_resource);
......@@ -7919,7 +7887,6 @@ struct search_res_tlb_params
static BOOL CALLBACK search_res_tlb(HMODULE hModule, LPCWSTR lpszType, LPWSTR lpszName, LONG_PTR lParam)
{
struct search_res_tlb_params *params = (LPVOID)lParam;
static const WCHAR formatW[] = {'\\','%','d',0};
WCHAR szPath[MAX_PATH+1];
ITypeLib *pTLib = NULL;
HRESULT ret;
......@@ -7931,7 +7898,7 @@ static BOOL CALLBACK search_res_tlb(HMODULE hModule, LPCWSTR lpszType, LPWSTR lp
if (!(len = GetModuleFileNameW(hModule, szPath, MAX_PATH)))
return TRUE;
if (swprintf(szPath + len, ARRAY_SIZE(szPath) - len, formatW, LOWORD(lpszName)) < 0)
if (swprintf(szPath + len, ARRAY_SIZE(szPath) - len, L"\\%d", LOWORD(lpszName)) < 0)
return TRUE;
ret = LoadTypeLibEx(szPath, REGKIND_NONE, &pTLib);
......@@ -8068,7 +8035,6 @@ static HRESULT WINAPI ITypeInfo_fnGetRefTypeInfo(
if (!pTLib)
{
static const WCHAR TYPELIBW[] = {'T','Y','P','E','L','I','B',0};
struct search_res_tlb_params params;
TRACE("typeinfo in imported typelib that isn't already loaded\n");
......@@ -8076,7 +8042,7 @@ static HRESULT WINAPI ITypeInfo_fnGetRefTypeInfo(
/* Search in resource table */
params.guid = TLB_get_guid_null(ref_type->pImpTLInfo->guid);
params.pTLib = NULL;
EnumResourceNamesW(NULL, TYPELIBW, search_res_tlb, (LONG_PTR)&params);
EnumResourceNamesW(NULL, L"TYPELIB", search_res_tlb, (LONG_PTR)&params);
if(params.pTLib)
{
pTLib = params.pTLib;
......@@ -10624,13 +10590,12 @@ static HRESULT WINAPI ICreateTypeInfo2_fnSetTypeFlags(ICreateTypeInfo2 *iface,
TRACE("%p %x\n", This, typeFlags);
if (typeFlags & TYPEFLAG_FDUAL) {
static const WCHAR stdole2tlb[] = { 's','t','d','o','l','e','2','.','t','l','b',0 };
ITypeLib *stdole;
ITypeInfo *dispatch;
HREFTYPE hreftype;
HRESULT hres;
hres = LoadTypeLib(stdole2tlb, &stdole);
hres = LoadTypeLib(L"stdole2.tlb", &stdole);
if(FAILED(hres))
return hres;
......
......@@ -38,9 +38,6 @@ extern HMODULE hProxyDll DECLSPEC_HIDDEN;
#define CY_HALF (CY_MULTIPLIER/2) /* 0.5 */
#define CY_HALF_F (CY_MULTIPLIER_F/2.0)
static const WCHAR szFloatFormatW[] = { '%','.','7','G','\0' };
static const WCHAR szDoubleFormatW[] = { '%','.','1','5','G','\0' };
/* Copy data from one variant to another. */
static inline void VARIANT_CopyData(const VARIANT *srcVar, VARTYPE vt, void *pOut)
{
......@@ -6111,9 +6108,6 @@ static BOOL VARIANT_GetLocalisedText(LANGID langId, DWORD dwId, WCHAR *lpszDest)
*/
HRESULT WINAPI VarBoolFromStr(OLECHAR* strIn, LCID lcid, ULONG dwFlags, VARIANT_BOOL *pBoolOut)
{
/* Any VB/VBA programmers out there should recognise these strings... */
static const WCHAR szFalse[] = { '#','F','A','L','S','E','#','\0' };
static const WCHAR szTrue[] = { '#','T','R','U','E','#','\0' };
WCHAR szBuff[64];
LANGID langId = MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT);
HRESULT hRes = S_OK;
......@@ -6170,9 +6164,9 @@ VarBoolFromStr_CheckLocalised:
}
/* All checks against localised text have failed, try #TRUE#/#FALSE# */
if (!wcscmp(strIn, szFalse))
if (!wcscmp(strIn, L"#FALSE#"))
*pBoolOut = VARIANT_FALSE;
else if (!wcscmp(strIn, szTrue))
else if (!wcscmp(strIn, L"#TRUE#"))
*pBoolOut = VARIANT_TRUE;
else
{
......@@ -6521,8 +6515,7 @@ static HRESULT VARIANT_BstrFromReal(DOUBLE dblIn, LCID lcid, ULONG dwFlags,
*/
if (buff[0] == '-')
{
static const WCHAR szAccept[] = {'0', '.', '\0'};
if (lstrlenW(buff + 1) == wcsspn(buff + 1, szAccept))
if (lstrlenW(buff + 1) == wcsspn(buff + 1, L"0."))
{ buff[0] = '0'; buff[1] = '\0'; }
}
......@@ -6563,7 +6556,7 @@ static HRESULT VARIANT_BstrFromReal(DOUBLE dblIn, LCID lcid, ULONG dwFlags,
*/
HRESULT WINAPI VarBstrFromR4(FLOAT fltIn, LCID lcid, ULONG dwFlags, BSTR* pbstrOut)
{
return VARIANT_BstrFromReal(fltIn, lcid, dwFlags, pbstrOut, szFloatFormatW);
return VARIANT_BstrFromReal(fltIn, lcid, dwFlags, pbstrOut, L"%.7G");
}
/******************************************************************************
......@@ -6584,7 +6577,7 @@ HRESULT WINAPI VarBstrFromR4(FLOAT fltIn, LCID lcid, ULONG dwFlags, BSTR* pbstrO
*/
HRESULT WINAPI VarBstrFromR8(double dblIn, LCID lcid, ULONG dwFlags, BSTR* pbstrOut)
{
return VARIANT_BstrFromReal(dblIn, lcid, dwFlags, pbstrOut, szDoubleFormatW);
return VARIANT_BstrFromReal(dblIn, lcid, dwFlags, pbstrOut, L"%.15G");
}
/******************************************************************************
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment