Fixed some issues found by winapi_check.
This commit is contained in:
parent
325cb0d2a8
commit
a3868218d0
|
@ -250,7 +250,7 @@
|
||||||
@ stdcall NtWaitForSingleObject(long long long) NtWaitForSingleObject
|
@ stdcall NtWaitForSingleObject(long long long) NtWaitForSingleObject
|
||||||
@ stub NtWaitHighEventPair
|
@ stub NtWaitHighEventPair
|
||||||
@ stub NtWaitLowEventPair
|
@ stub NtWaitLowEventPair
|
||||||
@ stub NtWriteFile
|
@ stdcall NtWriteFile(long long ptr ptr ptr ptr long ptr ptr) NtWriteFile
|
||||||
@ stub NtWriteRequestData
|
@ stub NtWriteRequestData
|
||||||
@ stub NtWriteVirtualMemory
|
@ stub NtWriteVirtualMemory
|
||||||
@ stub PfxFindPrefix
|
@ stub PfxFindPrefix
|
||||||
|
@ -755,7 +755,7 @@
|
||||||
@ stdcall ZwWaitForSingleObject(long long long) NtWaitForSingleObject
|
@ stdcall ZwWaitForSingleObject(long long long) NtWaitForSingleObject
|
||||||
@ stub ZwWaitHighEventPair
|
@ stub ZwWaitHighEventPair
|
||||||
@ stub ZwWaitLowEventPair
|
@ stub ZwWaitLowEventPair
|
||||||
@ stub ZwWriteFile
|
@ stdcall ZwWriteFile(long long ptr ptr ptr ptr long ptr ptr) NtWriteFile
|
||||||
@ stub ZwWriteRequestData
|
@ stub ZwWriteRequestData
|
||||||
@ stub ZwWriteVirtualMemory
|
@ stub ZwWriteVirtualMemory
|
||||||
@ cdecl _CIpow() NTDLL__CIpow
|
@ cdecl _CIpow() NTDLL__CIpow
|
||||||
|
|
|
@ -1270,7 +1270,7 @@ HRESULT WINAPI OleLoadPicture( LPSTREAM lpstream, LONG lSize, BOOL fRunmode,
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* OleLoadPictureEx (OLEAUT32.425)
|
* OleLoadPictureEx (OLEAUT32.401)
|
||||||
*/
|
*/
|
||||||
HRESULT WINAPI OleLoadPictureEx( LPSTREAM lpstream, LONG lSize, BOOL fRunmode,
|
HRESULT WINAPI OleLoadPictureEx( LPSTREAM lpstream, LONG lSize, BOOL fRunmode,
|
||||||
REFIID reed, DWORD xsiz, DWORD ysiz, DWORD flags, LPVOID *ppvObj )
|
REFIID reed, DWORD xsiz, DWORD ysiz, DWORD flags, LPVOID *ppvObj )
|
||||||
|
@ -1279,4 +1279,3 @@ HRESULT WINAPI OleLoadPictureEx( LPSTREAM lpstream, LONG lSize, BOOL fRunmode,
|
||||||
lpstream, lSize, fRunmode, reed, xsiz, ysiz, flags, ppvObj);
|
lpstream, lSize, fRunmode, reed, xsiz, ysiz, flags, ppvObj);
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -144,7 +144,7 @@ HRESULT WINAPI SafeArrayAllocDescriptor(
|
||||||
}
|
}
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
* SafeArrayAllocDescriptorEx (OLEAUT32.429)
|
* SafeArrayAllocDescriptorEx (OLEAUT32.41)
|
||||||
* Allocate the appropriate amount of memory for the SafeArray descriptor
|
* Allocate the appropriate amount of memory for the SafeArray descriptor
|
||||||
*
|
*
|
||||||
* This is a minimal implementation just to get things moving.
|
* This is a minimal implementation just to get things moving.
|
||||||
|
|
|
@ -4876,7 +4876,7 @@ HRESULT WINAPI VarDateFromUdate(UDATE *pudateout,
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* VarBstrCmp [OLEAUT32.440]
|
* VarBstrCmp [OLEAUT32.314]
|
||||||
*
|
*
|
||||||
* flags can be:
|
* flags can be:
|
||||||
* NORM_IGNORECASE, NORM_IGNORENONSPACE, NORM_IGNORESYMBOLS
|
* NORM_IGNORECASE, NORM_IGNORENONSPACE, NORM_IGNORESYMBOLS
|
||||||
|
@ -4911,7 +4911,7 @@ HRESULT WINAPI VarBstrCmp(BSTR left, BSTR right, LCID lcid, DWORD flags)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* VarBstrCat [OLEAUT32.439]
|
* VarBstrCat [OLEAUT32.313]
|
||||||
*/
|
*/
|
||||||
HRESULT WINAPI VarBstrCat(BSTR left, BSTR right, BSTR *out)
|
HRESULT WINAPI VarBstrCat(BSTR left, BSTR right, BSTR *out)
|
||||||
{
|
{
|
||||||
|
@ -4935,7 +4935,7 @@ HRESULT WINAPI VarBstrCat(BSTR left, BSTR right, BSTR *out)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* VarCat [OLEAUT32.441]
|
* VarCat [OLEAUT32.318]
|
||||||
*/
|
*/
|
||||||
HRESULT WINAPI VarCat(LPVARIANT left, LPVARIANT right, LPVARIANT out)
|
HRESULT WINAPI VarCat(LPVARIANT left, LPVARIANT right, LPVARIANT out)
|
||||||
{
|
{
|
||||||
|
@ -4959,7 +4959,7 @@ HRESULT WINAPI VarCat(LPVARIANT left, LPVARIANT right, LPVARIANT out)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* VarCmp [OLEAUT32.442]
|
* VarCmp [OLEAUT32.176]
|
||||||
*
|
*
|
||||||
* flags can be:
|
* flags can be:
|
||||||
* NORM_IGNORECASE, NORM_IGNORENONSPACE, NORM_IGNORESYMBOLS
|
* NORM_IGNORECASE, NORM_IGNORENONSPACE, NORM_IGNORESYMBOLS
|
||||||
|
@ -5069,7 +5069,7 @@ HRESULT WINAPI VarCmp(LPVARIANT left, LPVARIANT right, LCID lcid, DWORD flags)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* VarAnd [OLEAUT32.438]
|
* VarAnd [OLEAUT32.142]
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
HRESULT WINAPI VarAnd(LPVARIANT left, LPVARIANT right, LPVARIANT result)
|
HRESULT WINAPI VarAnd(LPVARIANT left, LPVARIANT right, LPVARIANT result)
|
||||||
|
@ -5103,7 +5103,7 @@ HRESULT WINAPI VarAnd(LPVARIANT left, LPVARIANT right, LPVARIANT result)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* VarNot [OLEAUT32.482]
|
* VarNot [OLEAUT32.174]
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
HRESULT WINAPI VarNot(LPVARIANT in, LPVARIANT result)
|
HRESULT WINAPI VarNot(LPVARIANT in, LPVARIANT result)
|
||||||
|
@ -5133,7 +5133,7 @@ HRESULT WINAPI VarNot(LPVARIANT in, LPVARIANT result)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* VarTokenizeFormatString [OLEAUT32.490]
|
* VarTokenizeFormatString [OLEAUT32.140]
|
||||||
*
|
*
|
||||||
* From investigation on W2K, a list is built up which is:
|
* From investigation on W2K, a list is built up which is:
|
||||||
*
|
*
|
||||||
|
@ -5141,7 +5141,7 @@ HRESULT WINAPI VarNot(LPVARIANT in, LPVARIANT result)
|
||||||
* <token> - Insert appropriate token
|
* <token> - Insert appropriate token
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
HRESULT VarTokenizeFormatString(LPOLESTR format, LPBYTE rgbTok,
|
HRESULT WINAPI VarTokenizeFormatString(LPOLESTR format, LPBYTE rgbTok,
|
||||||
int cbTok, int iFirstDay, int iFirstWeek,
|
int cbTok, int iFirstDay, int iFirstWeek,
|
||||||
LCID lcid, int *pcbActual) {
|
LCID lcid, int *pcbActual) {
|
||||||
|
|
||||||
|
@ -5279,10 +5279,10 @@ HRESULT VarTokenizeFormatString(LPOLESTR format, LPBYTE rgbTok,
|
||||||
}
|
}
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* VarFormatFromTokens [OLEAUT32.472]
|
* VarFormatFromTokens [OLEAUT32.139]
|
||||||
* FIXME: No account of flags or iFirstDay etc
|
* FIXME: No account of flags or iFirstDay etc
|
||||||
*/
|
*/
|
||||||
HRESULT VarFormatFromTokens(LPVARIANT varIn, LPOLESTR format,
|
HRESULT WINAPI VarFormatFromTokens(LPVARIANT varIn, LPOLESTR format,
|
||||||
LPBYTE pbTokCur, ULONG dwFlags, BSTR *pbstrOut,
|
LPBYTE pbTokCur, ULONG dwFlags, BSTR *pbstrOut,
|
||||||
LCID lcid) {
|
LCID lcid) {
|
||||||
|
|
||||||
|
@ -5477,7 +5477,7 @@ HRESULT VarFormatFromTokens(LPVARIANT varIn, LPOLESTR format,
|
||||||
}
|
}
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* VarFormat [OLEAUT32.469]
|
* VarFormat [OLEAUT32.87]
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
HRESULT WINAPI VarFormat(LPVARIANT varIn, LPOLESTR format,
|
HRESULT WINAPI VarFormat(LPVARIANT varIn, LPOLESTR format,
|
||||||
|
|
|
@ -113,6 +113,8 @@ DWORD WINAPI __SHGUIDToStringW (REFGUID guid, LPWSTR str)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/************************************************************************/
|
||||||
|
|
||||||
LRESULT WINAPI SHCoCreateInstance(
|
LRESULT WINAPI SHCoCreateInstance(
|
||||||
LPCSTR aclsid,
|
LPCSTR aclsid,
|
||||||
REFCLSID clsid,
|
REFCLSID clsid,
|
||||||
|
|
|
@ -1622,8 +1622,8 @@ DWORD WINAPI SHLWAPI_266 (
|
||||||
* interface circumventing the forwarding to the outer object.
|
* interface circumventing the forwarding to the outer object.
|
||||||
*/
|
*/
|
||||||
HRESULT WINAPI SHLWAPI_267 (
|
HRESULT WINAPI SHLWAPI_267 (
|
||||||
IUnknown * pUnk, /* outer object */
|
IUnknown * pUnk, /* [in] outer object */
|
||||||
IUnknown * pInner, /* inner object */
|
IUnknown * pInner, /* [in] inner object */
|
||||||
IID * riid,
|
IID * riid,
|
||||||
LPVOID* ppv)
|
LPVOID* ppv)
|
||||||
{
|
{
|
||||||
|
|
|
@ -414,7 +414,7 @@ static DWORD wodMapperStatus(WAVEMAPDATA* wom, DWORD flags, LPVOID ptr)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* wodMessage (MSACMMAP.@)
|
* wodMessage (MSACM.@)
|
||||||
*/
|
*/
|
||||||
DWORD WINAPI WAVEMAP_wodMessage(UINT wDevID, UINT wMsg, DWORD dwUser,
|
DWORD WINAPI WAVEMAP_wodMessage(UINT wDevID, UINT wMsg, DWORD dwUser,
|
||||||
DWORD dwParam1, DWORD dwParam2)
|
DWORD dwParam1, DWORD dwParam2)
|
||||||
|
@ -777,7 +777,7 @@ static DWORD widMapperStatus(WAVEMAPDATA* wim, DWORD flags, LPVOID ptr)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* widMessage (MSACMMAP.@)
|
* widMessage (MSACM.@)
|
||||||
*/
|
*/
|
||||||
DWORD WINAPI WAVEMAP_widMessage(WORD wDevID, WORD wMsg, DWORD dwUser,
|
DWORD WINAPI WAVEMAP_widMessage(WORD wDevID, WORD wMsg, DWORD dwUser,
|
||||||
DWORD dwParam1, DWORD dwParam2)
|
DWORD dwParam1, DWORD dwParam2)
|
||||||
|
@ -844,7 +844,7 @@ static DWORD WAVEMAP_drvClose(DWORD dwDevID)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* DriverProc (MSACMMAP.@)
|
* DriverProc (MSACM.@)
|
||||||
*/
|
*/
|
||||||
LONG CALLBACK WAVEMAP_DriverProc(DWORD dwDevID, HDRVR hDriv, DWORD wMsg,
|
LONG CALLBACK WAVEMAP_DriverProc(DWORD dwDevID, HDRVR hDriv, DWORD wMsg,
|
||||||
DWORD dwParam1, DWORD dwParam2)
|
DWORD dwParam1, DWORD dwParam2)
|
||||||
|
@ -867,5 +867,3 @@ LONG CALLBACK WAVEMAP_DriverProc(DWORD dwDevID, HDRVR hDriv, DWORD wMsg,
|
||||||
return DefDriverProc(dwDevID, hDriv, wMsg, dwParam1, dwParam2);
|
return DefDriverProc(dwDevID, hDriv, wMsg, dwParam1, dwParam2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ static DWORD ALSA_drvClose(DWORD dwDevID)
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* DriverProc (WINEALSA.1)
|
* DriverProc (WINEALSA.@)
|
||||||
*/
|
*/
|
||||||
LONG CALLBACK ALSA_DriverProc(DWORD dwDevID, HDRVR hDriv, DWORD wMsg,
|
LONG CALLBACK ALSA_DriverProc(DWORD dwDevID, HDRVR hDriv, DWORD wMsg,
|
||||||
DWORD dwParam1, DWORD dwParam2)
|
DWORD dwParam1, DWORD dwParam2)
|
||||||
|
|
|
@ -1534,7 +1534,7 @@ static DWORD wodGetNumDevs(void)
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* wodMessage (WINEALSA.7)
|
* wodMessage (WINEALSA.@)
|
||||||
*/
|
*/
|
||||||
DWORD WINAPI ALSA_wodMessage(UINT wDevID, UINT wMsg, DWORD dwUser,
|
DWORD WINAPI ALSA_wodMessage(UINT wDevID, UINT wMsg, DWORD dwUser,
|
||||||
DWORD dwParam1, DWORD dwParam2)
|
DWORD dwParam1, DWORD dwParam2)
|
||||||
|
@ -2094,7 +2094,7 @@ static DWORD wodDsCreate(UINT wDevID, PIDSDRIVER* drv)
|
||||||
#ifndef HAVE_ALSA
|
#ifndef HAVE_ALSA
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* wodMessage (WINEALSA.7)
|
* wodMessage (WINEALSA.@)
|
||||||
*/
|
*/
|
||||||
DWORD WINAPI ALSA_wodMessage(WORD wDevID, WORD wMsg, DWORD dwUser,
|
DWORD WINAPI ALSA_wodMessage(WORD wDevID, WORD wMsg, DWORD dwUser,
|
||||||
DWORD dwParam1, DWORD dwParam2)
|
DWORD dwParam1, DWORD dwParam2)
|
||||||
|
|
|
@ -1303,7 +1303,7 @@ static DWORD wodGetNumDevs(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* wodMessage (WINEALSA.7)
|
* wodMessage (WINEALSA.@)
|
||||||
*/
|
*/
|
||||||
DWORD WINAPI ALSA_wodMessage(UINT wDevID, UINT wMsg, DWORD dwUser,
|
DWORD WINAPI ALSA_wodMessage(UINT wDevID, UINT wMsg, DWORD dwUser,
|
||||||
DWORD dwParam1, DWORD dwParam2)
|
DWORD dwParam1, DWORD dwParam2)
|
||||||
|
|
|
@ -2111,36 +2111,36 @@ DWORD WINAPI GetFontLanguageInfo(HDC hdc)
|
||||||
GCP_LIGATE_MASK=0x00000000,
|
GCP_LIGATE_MASK=0x00000000,
|
||||||
GCP_USEKERNING_MASK=0x00000000,
|
GCP_USEKERNING_MASK=0x00000000,
|
||||||
GCP_REORDER_MASK=0x00000060;
|
GCP_REORDER_MASK=0x00000060;
|
||||||
|
|
||||||
DWORD result=0;
|
DWORD result=0;
|
||||||
|
|
||||||
GetTextCharsetInfo( hdc, &fontsig, 0 );
|
GetTextCharsetInfo( hdc, &fontsig, 0 );
|
||||||
/* We detect each flag we return using a bitmask on the Codepage Bitfields */
|
/* We detect each flag we return using a bitmask on the Codepage Bitfields */
|
||||||
|
|
||||||
if( (fontsig.fsCsb[0]&GCP_DBCS_MASK)!=0 )
|
if( (fontsig.fsCsb[0]&GCP_DBCS_MASK)!=0 )
|
||||||
result|=GCP_DBCS;
|
result|=GCP_DBCS;
|
||||||
|
|
||||||
if( (fontsig.fsCsb[0]&GCP_DIACRITIC_MASK)!=0 )
|
if( (fontsig.fsCsb[0]&GCP_DIACRITIC_MASK)!=0 )
|
||||||
result|=GCP_DIACRITIC;
|
result|=GCP_DIACRITIC;
|
||||||
|
|
||||||
if( (fontsig.fsCsb[0]&FLI_GLYPHS_MASK)!=0 )
|
if( (fontsig.fsCsb[0]&FLI_GLYPHS_MASK)!=0 )
|
||||||
result|=FLI_GLYPHS;
|
result|=FLI_GLYPHS;
|
||||||
|
|
||||||
if( (fontsig.fsCsb[0]&GCP_GLYPHSHAPE_MASK)!=0 )
|
if( (fontsig.fsCsb[0]&GCP_GLYPHSHAPE_MASK)!=0 )
|
||||||
result|=GCP_GLYPHSHAPE;
|
result|=GCP_GLYPHSHAPE;
|
||||||
|
|
||||||
if( (fontsig.fsCsb[0]&GCP_KASHIDA_MASK)!=0 )
|
if( (fontsig.fsCsb[0]&GCP_KASHIDA_MASK)!=0 )
|
||||||
result|=GCP_KASHIDA;
|
result|=GCP_KASHIDA;
|
||||||
|
|
||||||
if( (fontsig.fsCsb[0]&GCP_LIGATE_MASK)!=0 )
|
if( (fontsig.fsCsb[0]&GCP_LIGATE_MASK)!=0 )
|
||||||
result|=GCP_LIGATE;
|
result|=GCP_LIGATE;
|
||||||
|
|
||||||
if( (fontsig.fsCsb[0]&GCP_USEKERNING_MASK)!=0 )
|
if( (fontsig.fsCsb[0]&GCP_USEKERNING_MASK)!=0 )
|
||||||
result|=GCP_USEKERNING;
|
result|=GCP_USEKERNING;
|
||||||
|
|
||||||
if( (fontsig.fsCsb[0]&GCP_REORDER_MASK)!=0 )
|
if( (fontsig.fsCsb[0]&GCP_REORDER_MASK)!=0 )
|
||||||
result|=GCP_REORDER;
|
result|=GCP_REORDER;
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2298,12 +2298,12 @@ GetCharacterPlacementA(HDC hdc, LPCSTR lpString, INT uCount,
|
||||||
*/
|
*/
|
||||||
DWORD WINAPI
|
DWORD WINAPI
|
||||||
GetCharacterPlacementW(
|
GetCharacterPlacementW(
|
||||||
HDC hdc, /* Device context for which the rendering is to be done */
|
HDC hdc, /* [in] Device context for which the rendering is to be done */
|
||||||
LPCWSTR lpString, /* The string for which information is to be returned */
|
LPCWSTR lpString, /* [in] The string for which information is to be returned */
|
||||||
INT uCount, /* Number of WORDS in string. */
|
INT uCount, /* [in] Number of WORDS in string. */
|
||||||
INT nMaxExtent, /* Maximum extent the string is to take (in HDC logical units) */
|
INT nMaxExtent, /* [in] Maximum extent the string is to take (in HDC logical units) */
|
||||||
GCP_RESULTSW *lpResults, /* A pointer to a GCP_RESULTSW struct */
|
GCP_RESULTSW *lpResults,/* [in/out] A pointer to a GCP_RESULTSW struct */
|
||||||
DWORD dwFlags /* Flags specifying how to process the string */
|
DWORD dwFlags /* [in] Flags specifying how to process the string */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
DWORD ret=0;
|
DWORD ret=0;
|
||||||
|
@ -2342,7 +2342,7 @@ GetCharacterPlacementW(
|
||||||
for(i = 0; i < nSet; i++)
|
for(i = 0; i < nSet; i++)
|
||||||
lpResults->lpOrder[i] = i;
|
lpResults->lpOrder[i] = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
WORD *pwCharType;
|
WORD *pwCharType;
|
||||||
|
@ -2353,18 +2353,18 @@ GetCharacterPlacementW(
|
||||||
* 0 - neutral
|
* 0 - neutral
|
||||||
*/
|
*/
|
||||||
static const int chardir[]={ 0, 1, -1, 1, 1, 1, -1, 1, 0, 0, 0, 0 };
|
static const int chardir[]={ 0, 1, -1, 1, 1, 1, -1, 1, 0, 0, 0, 0 };
|
||||||
|
|
||||||
WARN("The BiDi algorythm doesn't conform to Windows' yet\n");
|
WARN("The BiDi algorythm doesn't conform to Windows' yet\n");
|
||||||
if( (pwCharType=HeapAlloc(GetProcessHeap(), 0, uCount * sizeof(WORD)))==NULL )
|
if( (pwCharType=HeapAlloc(GetProcessHeap(), 0, uCount * sizeof(WORD)))==NULL )
|
||||||
{
|
{
|
||||||
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
|
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Fill in the order array with directionality values */
|
/* Fill in the order array with directionality values */
|
||||||
GetStringTypeW(CT_CTYPE2, lpString, uCount, pwCharType);
|
GetStringTypeW(CT_CTYPE2, lpString, uCount, pwCharType);
|
||||||
|
|
||||||
/* The complete and correct (at list according to MS) BiDi algorythm is not
|
/* The complete and correct (at list according to MS) BiDi algorythm is not
|
||||||
* yet implemented here. Instead, we just make sure that consecutive runs of
|
* yet implemented here. Instead, we just make sure that consecutive runs of
|
||||||
* the same direction (or neutral) are ordered correctly
|
* the same direction (or neutral) are ordered correctly
|
||||||
|
@ -2375,7 +2375,7 @@ GetCharacterPlacementW(
|
||||||
(chardir[pwCharType[i+run_end]]==chardir[pwCharType[i]] ||
|
(chardir[pwCharType[i+run_end]]==chardir[pwCharType[i]] ||
|
||||||
chardir[pwCharType[i+run_end]]==0); ++run_end )
|
chardir[pwCharType[i+run_end]]==0); ++run_end )
|
||||||
;
|
;
|
||||||
|
|
||||||
if( chardir[pwCharType[i]]==1 || chardir[pwCharType[i]]==0 )
|
if( chardir[pwCharType[i]]==1 || chardir[pwCharType[i]]==0 )
|
||||||
{
|
{
|
||||||
/* A LTR run */
|
/* A LTR run */
|
||||||
|
@ -2387,7 +2387,7 @@ GetCharacterPlacementW(
|
||||||
lpResults->lpOutString[i+j]=lpString[i+j];
|
lpResults->lpOutString[i+j]=lpString[i+j];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(lpResults->lpOrder)
|
if(lpResults->lpOrder)
|
||||||
{
|
{
|
||||||
int j;
|
int j;
|
||||||
|
@ -2405,7 +2405,7 @@ GetCharacterPlacementW(
|
||||||
lpResults->lpOutString[i+j]=lpString[i+run_end-j-1];
|
lpResults->lpOutString[i+j]=lpString[i+run_end-j-1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(lpResults->lpOrder)
|
if(lpResults->lpOrder)
|
||||||
{
|
{
|
||||||
int j;
|
int j;
|
||||||
|
@ -2414,7 +2414,7 @@ GetCharacterPlacementW(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HeapFree(GetProcessHeap(), 0, pwCharType);
|
HeapFree(GetProcessHeap(), 0, pwCharType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue