mirror of
https://git.code.sf.net/p/mingw-w64/mingw-w64
synced 2024-11-27 03:43:37 +08:00
Guard _CRT_INLINE by __CRT__NO_INLINE
git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@1054 4407c894-4637-0410-b4f5-ada5f102cad1
This commit is contained in:
parent
17f7ecc59f
commit
a779ca78a4
@ -24,8 +24,12 @@ extern "C" {
|
||||
#define ua_wcsicmp wcsicmp
|
||||
#define ua_wcslen wcslen
|
||||
#define ua_wcsrchr wcsrchr
|
||||
#ifndef __CRT__NO_INLINE
|
||||
__CRT_INLINE PUWSTR ua_wcscpy(PUWSTR Destination,PCUWSTR Source) { return wcscpy(Destination,Source); }
|
||||
#else
|
||||
#define ua_wcscpy wcscpy
|
||||
#endif
|
||||
#else
|
||||
#define WSTR_ALIGNED(s) (((DWORD_PTR)(s) & (sizeof(WCHAR)-1))==0)
|
||||
|
||||
/* TODO: This method seems to be not present for amd64. */
|
||||
@ -39,12 +43,15 @@ extern "C" {
|
||||
size_t __cdecl uaw_wcslen(PCUWSTR String);
|
||||
PUWSTR __cdecl uaw_wcsrchr(PCUWSTR String,WCHAR Character);
|
||||
#ifdef CharUpper
|
||||
#ifndef __CRT__NO_INLINE
|
||||
__CRT_INLINE LPUWSTR ua_CharUpperW(LPUWSTR String) {
|
||||
if(WSTR_ALIGNED(String)) return CharUpperW((PWSTR)String);
|
||||
return uaw_CharUpperW(String);
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
#ifdef lstrcmp
|
||||
__CRT_INLINE int ua_lstrcmpW(LPCUWSTR String1,LPCUWSTR String2) {
|
||||
if(WSTR_ALIGNED(String1) && WSTR_ALIGNED(String2))
|
||||
@ -67,6 +74,7 @@ extern "C" {
|
||||
return uaw_lstrlenW(String);
|
||||
}
|
||||
#endif
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
#if defined(_WSTRING_DEFINED)
|
||||
#ifdef _WConst_return
|
||||
@ -74,6 +82,7 @@ extern "C" {
|
||||
#else
|
||||
typedef WCHAR UNALIGNED *PUWSTR_C;
|
||||
#endif
|
||||
#ifndef __CRT__NO_INLINE
|
||||
__CRT_INLINE PUWSTR_C ua_wcschr(PCUWSTR String,WCHAR Character) {
|
||||
if(WSTR_ALIGNED(String)) return wcschr((PCWSTR)String,Character);
|
||||
return (PUWSTR_C)uaw_wcschr(String,Character);
|
||||
@ -102,13 +111,16 @@ extern "C" {
|
||||
if(WSTR_ALIGNED(String)) return wcslen((PCWSTR)String);
|
||||
return uaw_wcslen(String);
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
__CRT_INLINE int ua_wcsicmp(LPCUWSTR String1,LPCUWSTR String2) {
|
||||
if(WSTR_ALIGNED(String1) && WSTR_ALIGNED(String2))
|
||||
return _wcsicmp((LPCWSTR)String1,(LPCWSTR)String2);
|
||||
return uaw_wcsicmp(String1,String2);
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
#endif
|
||||
|
||||
#ifndef __UA_WCSLEN
|
||||
|
@ -91,8 +91,13 @@ extern "C" {
|
||||
int __cdecl stricmp(const char *_Str1,const char *_Str2);
|
||||
char *__cdecl strlwr(char *_Str);
|
||||
int __cdecl strnicmp(const char *_Str1,const char *_Str,size_t _MaxCount);
|
||||
#ifndef __CRT__NO_INLINE
|
||||
__CRT_INLINE int __cdecl strncasecmp (const char *__sz1, const char *__sz2, size_t __sizeMaxCompare) { return _strnicmp (__sz1, __sz2, __sizeMaxCompare); }
|
||||
__CRT_INLINE int __cdecl strcasecmp (const char *__sz1, const char *__sz2) { return _stricmp (__sz1, __sz2); }
|
||||
#else
|
||||
#define strncasecmp _strnicmp
|
||||
#define strcasecmp _stricmp
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
char *__cdecl strnset(char *_Str,int _Val,size_t _MaxCount);
|
||||
char *__cdecl strrev(char *_Str);
|
||||
char *__cdecl strset(char *_Str,int _Val);
|
||||
|
@ -141,6 +141,7 @@ STRSAFE_INLINE_API StringGetsExWorkerW(STRSAFE_LPWSTR pszDest,size_t cchDest,siz
|
||||
STRSAFEAPI StringCchCopyA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPCSTR pszSrc);
|
||||
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWSTR pszSrc);
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCchCopyA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPCSTR pszSrc) {
|
||||
HRESULT hr;
|
||||
if(cchDest > STRSAFE_MAX_CCH) hr = STRSAFE_E_INVALID_PARAMETER;
|
||||
@ -154,6 +155,7 @@ STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWSTR
|
||||
else hr = StringCopyWorkerW(pszDest,cchDest,pszSrc);
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
#ifdef UNICODE
|
||||
#define StringCbCopy StringCbCopyW
|
||||
@ -164,6 +166,7 @@ STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWSTR
|
||||
STRSAFEAPI StringCbCopyA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPCSTR pszSrc);
|
||||
STRSAFEAPI StringCbCopyW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR pszSrc);
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCbCopyA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPCSTR pszSrc) {
|
||||
HRESULT hr;
|
||||
size_t cchDest;
|
||||
@ -181,6 +184,7 @@ STRSAFEAPI StringCbCopyW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR ps
|
||||
else hr = StringCopyWorkerW(pszDest,cchDest,pszSrc);
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
#ifdef UNICODE
|
||||
#define StringCchCopyEx StringCchCopyExW
|
||||
@ -191,6 +195,7 @@ STRSAFEAPI StringCbCopyW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR ps
|
||||
STRSAFEAPI StringCchCopyExA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPCSTR pszSrc,STRSAFE_LPSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags);
|
||||
STRSAFEAPI StringCchCopyExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWSTR pszSrc,STRSAFE_LPWSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags);
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCchCopyExA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPCSTR pszSrc,STRSAFE_LPSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags) {
|
||||
HRESULT hr;
|
||||
if(cchDest > STRSAFE_MAX_CCH) hr = STRSAFE_E_INVALID_PARAMETER;
|
||||
@ -212,6 +217,7 @@ STRSAFEAPI StringCchCopyExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWST
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
#ifdef UNICODE
|
||||
#define StringCbCopyEx StringCbCopyExW
|
||||
@ -222,6 +228,7 @@ STRSAFEAPI StringCchCopyExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWST
|
||||
STRSAFEAPI StringCbCopyExA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPCSTR pszSrc,STRSAFE_LPSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags);
|
||||
STRSAFEAPI StringCbCopyExW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR pszSrc,STRSAFE_LPWSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags);
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCbCopyExA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPCSTR pszSrc,STRSAFE_LPSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags) {
|
||||
HRESULT hr;
|
||||
size_t cchDest;
|
||||
@ -251,6 +258,7 @@ STRSAFEAPI StringCbCopyExW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCchCopyNA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPCSTR pszSrc,size_t cchToCopy);
|
||||
STRSAFEAPI StringCchCopyNW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWSTR pszSrc,size_t cchToCopy);
|
||||
@ -260,6 +268,7 @@ STRSAFEAPI StringCchCopyNW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWSTR
|
||||
#define StringCchCopyN StringCchCopyNA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCchCopyNA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPCSTR pszSrc,size_t cchToCopy) {
|
||||
HRESULT hr;
|
||||
if((cchDest > STRSAFE_MAX_CCH) || (cchToCopy > STRSAFE_MAX_CCH)) hr = STRSAFE_E_INVALID_PARAMETER;
|
||||
@ -273,6 +282,7 @@ STRSAFEAPI StringCchCopyNW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWSTR
|
||||
else hr = StringCopyNWorkerW(pszDest,cchDest,pszSrc,cchToCopy);
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCbCopyNA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPCSTR pszSrc,size_t cbToCopy);
|
||||
STRSAFEAPI StringCbCopyNW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR pszSrc,size_t cbToCopy);
|
||||
@ -282,6 +292,7 @@ STRSAFEAPI StringCbCopyNW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR p
|
||||
#define StringCbCopyN StringCbCopyNA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCbCopyNA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPCSTR pszSrc,size_t cbToCopy) {
|
||||
HRESULT hr;
|
||||
size_t cchDest;
|
||||
@ -303,6 +314,7 @@ STRSAFEAPI StringCbCopyNW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR p
|
||||
else hr = StringCopyNWorkerW(pszDest,cchDest,pszSrc,cchToCopy);
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCchCopyNExA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPCSTR pszSrc,size_t cchToCopy,STRSAFE_LPSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags);
|
||||
STRSAFEAPI StringCchCopyNExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWSTR pszSrc,size_t cchToCopy,STRSAFE_LPWSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags);
|
||||
@ -312,6 +324,7 @@ STRSAFEAPI StringCchCopyNExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWS
|
||||
#define StringCchCopyNEx StringCchCopyNExA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCchCopyNExA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPCSTR pszSrc,size_t cchToCopy,STRSAFE_LPSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags) {
|
||||
HRESULT hr;
|
||||
if(cchDest > STRSAFE_MAX_CCH) hr = STRSAFE_E_INVALID_PARAMETER;
|
||||
@ -333,6 +346,7 @@ STRSAFEAPI StringCchCopyNExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWS
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCbCopyNExA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPCSTR pszSrc,size_t cbToCopy,STRSAFE_LPSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags);
|
||||
STRSAFEAPI StringCbCopyNExW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR pszSrc,size_t cbToCopy,STRSAFE_LPWSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags);
|
||||
@ -342,6 +356,7 @@ STRSAFEAPI StringCbCopyNExW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR
|
||||
#define StringCbCopyNEx StringCbCopyNExA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCbCopyNExA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPCSTR pszSrc,size_t cbToCopy,STRSAFE_LPSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags) {
|
||||
HRESULT hr;
|
||||
size_t cchDest;
|
||||
@ -375,6 +390,7 @@ STRSAFEAPI StringCbCopyNExW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCchCatA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPCSTR pszSrc);
|
||||
STRSAFEAPI StringCchCatW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWSTR pszSrc);
|
||||
@ -384,6 +400,7 @@ STRSAFEAPI StringCchCatW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWSTR p
|
||||
#define StringCchCat StringCchCatA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCchCatA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPCSTR pszSrc) {
|
||||
HRESULT hr;
|
||||
if(cchDest > STRSAFE_MAX_CCH) hr = STRSAFE_E_INVALID_PARAMETER;
|
||||
@ -397,6 +414,7 @@ STRSAFEAPI StringCchCatW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWSTR p
|
||||
else hr = StringCatWorkerW(pszDest,cchDest,pszSrc);
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCbCatA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPCSTR pszSrc);
|
||||
STRSAFEAPI StringCbCatW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR pszSrc);
|
||||
@ -406,6 +424,7 @@ STRSAFEAPI StringCbCatW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR psz
|
||||
#define StringCbCat StringCbCatA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCbCatA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPCSTR pszSrc) {
|
||||
HRESULT hr;
|
||||
size_t cchDest;
|
||||
@ -423,6 +442,7 @@ STRSAFEAPI StringCbCatW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR psz
|
||||
else hr = StringCatWorkerW(pszDest,cchDest,pszSrc);
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCchCatExA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPCSTR pszSrc,STRSAFE_LPSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags);
|
||||
STRSAFEAPI StringCchCatExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWSTR pszSrc,STRSAFE_LPWSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags);
|
||||
@ -432,6 +452,7 @@ STRSAFEAPI StringCchCatExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWSTR
|
||||
#define StringCchCatEx StringCchCatExA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCchCatExA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPCSTR pszSrc,STRSAFE_LPSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags) {
|
||||
HRESULT hr;
|
||||
if(cchDest > STRSAFE_MAX_CCH) hr = STRSAFE_E_INVALID_PARAMETER;
|
||||
@ -453,6 +474,7 @@ STRSAFEAPI StringCchCatExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWSTR
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCbCatExA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPCSTR pszSrc,STRSAFE_LPSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags);
|
||||
STRSAFEAPI StringCbCatExW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR pszSrc,STRSAFE_LPWSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags);
|
||||
@ -462,6 +484,7 @@ STRSAFEAPI StringCbCatExW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR p
|
||||
#define StringCbCatEx StringCbCatExA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCbCatExA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPCSTR pszSrc,STRSAFE_LPSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags) {
|
||||
HRESULT hr;
|
||||
size_t cchDest;
|
||||
@ -491,6 +514,7 @@ STRSAFEAPI StringCbCatExW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR p
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCchCatNA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPCSTR pszSrc,size_t cchToAppend);
|
||||
STRSAFEAPI StringCchCatNW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWSTR pszSrc,size_t cchToAppend);
|
||||
@ -500,6 +524,7 @@ STRSAFEAPI StringCchCatNW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWSTR
|
||||
#define StringCchCatN StringCchCatNA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCchCatNA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPCSTR pszSrc,size_t cchToAppend) {
|
||||
HRESULT hr;
|
||||
if(cchDest > STRSAFE_MAX_CCH) hr = STRSAFE_E_INVALID_PARAMETER;
|
||||
@ -513,6 +538,7 @@ STRSAFEAPI StringCchCatNW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWSTR
|
||||
else hr = StringCatNWorkerW(pszDest,cchDest,pszSrc,cchToAppend);
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCbCatNA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPCSTR pszSrc,size_t cbToAppend);
|
||||
STRSAFEAPI StringCbCatNW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR pszSrc,size_t cbToAppend);
|
||||
@ -522,6 +548,7 @@ STRSAFEAPI StringCbCatNW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR ps
|
||||
#define StringCbCatN StringCbCatNA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCbCatNA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPCSTR pszSrc,size_t cbToAppend) {
|
||||
HRESULT hr;
|
||||
size_t cchDest;
|
||||
@ -543,6 +570,7 @@ STRSAFEAPI StringCbCatNW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR ps
|
||||
else hr = StringCatNWorkerW(pszDest,cchDest,pszSrc,cchToAppend);
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCchCatNExA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPCSTR pszSrc,size_t cchToAppend,STRSAFE_LPSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags);
|
||||
STRSAFEAPI StringCchCatNExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWSTR pszSrc,size_t cchToAppend,STRSAFE_LPWSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags);
|
||||
@ -552,6 +580,7 @@ STRSAFEAPI StringCchCatNExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWST
|
||||
#define StringCchCatNEx StringCchCatNExA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCchCatNExA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPCSTR pszSrc,size_t cchToAppend,STRSAFE_LPSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags) {
|
||||
HRESULT hr;
|
||||
if(cchDest > STRSAFE_MAX_CCH) hr = STRSAFE_E_INVALID_PARAMETER;
|
||||
@ -573,6 +602,7 @@ STRSAFEAPI StringCchCatNExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWST
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
#endif
|
||||
|
||||
STRSAFEAPI StringCbCatNExA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPCSTR pszSrc,size_t cbToAppend,STRSAFE_LPSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags);
|
||||
STRSAFEAPI StringCbCatNExW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR pszSrc,size_t cbToAppend,STRSAFE_LPWSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags);
|
||||
@ -582,6 +612,7 @@ STRSAFEAPI StringCbCatNExW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR
|
||||
#define StringCbCatNEx StringCbCatNExA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCbCatNExA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPCSTR pszSrc,size_t cbToAppend,STRSAFE_LPSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags) {
|
||||
HRESULT hr;
|
||||
size_t cchDest;
|
||||
@ -615,6 +646,7 @@ STRSAFEAPI StringCbCatNExW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCchVPrintfA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPCSTR pszFormat,va_list argList);
|
||||
STRSAFEAPI StringCchVPrintfW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWSTR pszFormat,va_list argList);
|
||||
@ -624,6 +656,7 @@ STRSAFEAPI StringCchVPrintfW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWS
|
||||
#define StringCchVPrintf StringCchVPrintfA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCchVPrintfA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPCSTR pszFormat,va_list argList) {
|
||||
HRESULT hr;
|
||||
if(cchDest > STRSAFE_MAX_CCH) hr = STRSAFE_E_INVALID_PARAMETER;
|
||||
@ -637,6 +670,7 @@ STRSAFEAPI StringCchVPrintfW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWS
|
||||
else hr = StringVPrintfWorkerW(pszDest,cchDest,pszFormat,argList);
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCbVPrintfA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPCSTR pszFormat,va_list argList);
|
||||
STRSAFEAPI StringCbVPrintfW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR pszFormat,va_list argList);
|
||||
@ -646,6 +680,7 @@ STRSAFEAPI StringCbVPrintfW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR
|
||||
#define StringCbVPrintf StringCbVPrintfA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCbVPrintfA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPCSTR pszFormat,va_list argList) {
|
||||
HRESULT hr;
|
||||
size_t cchDest;
|
||||
@ -663,6 +698,7 @@ STRSAFEAPI StringCbVPrintfW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR
|
||||
else hr = StringVPrintfWorkerW(pszDest,cchDest,pszFormat,argList);
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCchPrintfA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPCSTR pszFormat,...);
|
||||
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWSTR pszFormat,...);
|
||||
@ -672,6 +708,7 @@ STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWST
|
||||
#define StringCchPrintf StringCchPrintfA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCchPrintfA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPCSTR pszFormat,...) {
|
||||
HRESULT hr;
|
||||
if(cchDest > STRSAFE_MAX_CCH) hr = STRSAFE_E_INVALID_PARAMETER;
|
||||
@ -695,6 +732,7 @@ STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPCWST
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCbPrintfA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPCSTR pszFormat,...);
|
||||
STRSAFEAPI StringCbPrintfW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR pszFormat,...);
|
||||
@ -704,6 +742,7 @@ STRSAFEAPI StringCbPrintfW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR
|
||||
#define StringCbPrintf StringCbPrintfA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCbPrintfA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPCSTR pszFormat,...) {
|
||||
HRESULT hr;
|
||||
size_t cchDest;
|
||||
@ -731,6 +770,7 @@ STRSAFEAPI StringCbPrintfW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPCWSTR
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCchPrintfExA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags,STRSAFE_LPCSTR pszFormat,...);
|
||||
STRSAFEAPI StringCchPrintfExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPWSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags,STRSAFE_LPCWSTR pszFormat,...);
|
||||
@ -740,6 +780,7 @@ STRSAFEAPI StringCchPrintfExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPWS
|
||||
#define StringCchPrintfEx StringCchPrintfExA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCchPrintfExA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags,STRSAFE_LPCSTR pszFormat,...) {
|
||||
HRESULT hr;
|
||||
if(cchDest > STRSAFE_MAX_CCH) hr = STRSAFE_E_INVALID_PARAMETER;
|
||||
@ -767,6 +808,7 @@ STRSAFEAPI StringCchPrintfExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPWS
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCbPrintfExA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags,STRSAFE_LPCSTR pszFormat,...);
|
||||
STRSAFEAPI StringCbPrintfExW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPWSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags,STRSAFE_LPCWSTR pszFormat,...);
|
||||
@ -776,6 +818,7 @@ STRSAFEAPI StringCbPrintfExW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPWSTR
|
||||
#define StringCbPrintfEx StringCbPrintfExA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCbPrintfExA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags,STRSAFE_LPCSTR pszFormat,...) {
|
||||
HRESULT hr;
|
||||
size_t cchDest;
|
||||
@ -815,6 +858,7 @@ STRSAFEAPI StringCbPrintfExW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPWSTR
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCchVPrintfExA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags,STRSAFE_LPCSTR pszFormat,va_list argList);
|
||||
STRSAFEAPI StringCchVPrintfExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPWSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags,STRSAFE_LPCWSTR pszFormat,va_list argList);
|
||||
@ -824,6 +868,7 @@ STRSAFEAPI StringCchVPrintfExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPW
|
||||
#define StringCchVPrintfEx StringCchVPrintfExA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCchVPrintfExA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags,STRSAFE_LPCSTR pszFormat,va_list argList) {
|
||||
HRESULT hr;
|
||||
if(cchDest > STRSAFE_MAX_CCH) hr = STRSAFE_E_INVALID_PARAMETER;
|
||||
@ -845,6 +890,7 @@ STRSAFEAPI StringCchVPrintfExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPW
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCbVPrintfExA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags,STRSAFE_LPCSTR pszFormat,va_list argList);
|
||||
STRSAFEAPI StringCbVPrintfExW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPWSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags,STRSAFE_LPCWSTR pszFormat,va_list argList);
|
||||
@ -854,6 +900,7 @@ STRSAFEAPI StringCbVPrintfExW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPWST
|
||||
#define StringCbVPrintfEx StringCbVPrintfExA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCbVPrintfExA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags,STRSAFE_LPCSTR pszFormat,va_list argList) {
|
||||
HRESULT hr;
|
||||
size_t cchDest;
|
||||
@ -883,6 +930,7 @@ STRSAFEAPI StringCbVPrintfExW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPWST
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFE_INLINE_API StringCchGetsA(STRSAFE_LPSTR pszDest,size_t cchDest);
|
||||
STRSAFE_INLINE_API StringCchGetsW(STRSAFE_LPWSTR pszDest,size_t cchDest);
|
||||
@ -892,6 +940,7 @@ STRSAFE_INLINE_API StringCchGetsW(STRSAFE_LPWSTR pszDest,size_t cchDest);
|
||||
#define StringCchGets StringCchGetsA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFE_INLINE_API StringCchGetsA(STRSAFE_LPSTR pszDest,size_t cchDest) {
|
||||
HRESULT hr;
|
||||
if(cchDest > STRSAFE_MAX_CCH) hr = STRSAFE_E_INVALID_PARAMETER;
|
||||
@ -913,6 +962,7 @@ STRSAFE_INLINE_API StringCchGetsW(STRSAFE_LPWSTR pszDest,size_t cchDest) {
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFE_INLINE_API StringCbGetsA(STRSAFE_LPSTR pszDest,size_t cbDest);
|
||||
STRSAFE_INLINE_API StringCbGetsW(STRSAFE_LPWSTR pszDest,size_t cbDest);
|
||||
@ -922,6 +972,7 @@ STRSAFE_INLINE_API StringCbGetsW(STRSAFE_LPWSTR pszDest,size_t cbDest);
|
||||
#define StringCbGets StringCbGetsA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFE_INLINE_API StringCbGetsA(STRSAFE_LPSTR pszDest,size_t cbDest) {
|
||||
HRESULT hr;
|
||||
size_t cchDest;
|
||||
@ -939,6 +990,7 @@ STRSAFE_INLINE_API StringCbGetsW(STRSAFE_LPWSTR pszDest,size_t cbDest) {
|
||||
else hr = StringGetsExWorkerW(pszDest,cchDest,cbDest,NULL,NULL,0);
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFE_INLINE_API StringCchGetsExA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags);
|
||||
STRSAFE_INLINE_API StringCchGetsExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAFE_LPWSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags);
|
||||
@ -948,6 +1000,7 @@ STRSAFE_INLINE_API StringCchGetsExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAF
|
||||
#define StringCchGetsEx StringCchGetsExA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFE_INLINE_API StringCchGetsExA(STRSAFE_LPSTR pszDest,size_t cchDest,STRSAFE_LPSTR *ppszDestEnd,size_t *pcchRemaining,unsigned long dwFlags) {
|
||||
HRESULT hr;
|
||||
if(cchDest > STRSAFE_MAX_CCH) hr = STRSAFE_E_INVALID_PARAMETER;
|
||||
@ -969,6 +1022,7 @@ STRSAFE_INLINE_API StringCchGetsExW(STRSAFE_LPWSTR pszDest,size_t cchDest,STRSAF
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFE_INLINE_API StringCbGetsExA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags);
|
||||
STRSAFE_INLINE_API StringCbGetsExW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_LPWSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags);
|
||||
@ -978,6 +1032,7 @@ STRSAFE_INLINE_API StringCbGetsExW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_
|
||||
#define StringCbGetsEx StringCbGetsExA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFE_INLINE_API StringCbGetsExA(STRSAFE_LPSTR pszDest,size_t cbDest,STRSAFE_LPSTR *ppszDestEnd,size_t *pcbRemaining,unsigned long dwFlags) {
|
||||
HRESULT hr;
|
||||
size_t cchDest;
|
||||
@ -1003,6 +1058,7 @@ STRSAFE_INLINE_API StringCbGetsExW(STRSAFE_LPWSTR pszDest,size_t cbDest,STRSAFE_
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCchLengthA(STRSAFE_LPCSTR psz,size_t cchMax,size_t *pcchLength);
|
||||
STRSAFEAPI StringCchLengthW(STRSAFE_LPCWSTR psz,size_t cchMax,size_t *pcchLength);
|
||||
@ -1012,6 +1068,7 @@ STRSAFEAPI StringCchLengthW(STRSAFE_LPCWSTR psz,size_t cchMax,size_t *pcchLength
|
||||
#define StringCchLength StringCchLengthA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCchLengthA(STRSAFE_LPCSTR psz,size_t cchMax,size_t *pcchLength) {
|
||||
HRESULT hr;
|
||||
if(!psz || (cchMax > STRSAFE_MAX_CCH)) hr = STRSAFE_E_INVALID_PARAMETER;
|
||||
@ -1031,6 +1088,7 @@ STRSAFEAPI StringCchLengthW(STRSAFE_LPCWSTR psz,size_t cchMax,size_t *pcchLength
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
STRSAFEAPI StringCbLengthA(STRSAFE_LPCSTR psz,size_t cbMax,size_t *pcbLength);
|
||||
STRSAFEAPI StringCbLengthW(STRSAFE_LPCWSTR psz,size_t cbMax,size_t *pcbLength);
|
||||
@ -1040,6 +1098,7 @@ STRSAFEAPI StringCbLengthW(STRSAFE_LPCWSTR psz,size_t cbMax,size_t *pcbLength);
|
||||
#define StringCbLength StringCbLengthA
|
||||
#endif
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
STRSAFEAPI StringCbLengthA(STRSAFE_LPCSTR psz,size_t cbMax,size_t *pcbLength) {
|
||||
HRESULT hr;
|
||||
size_t cchMax;
|
||||
@ -2071,6 +2130,7 @@ STRSAFE_INLINE_API StringGetsExWorkerW(STRSAFE_LPWSTR pszDest,size_t cchDest,siz
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
#define StringCopyWorkerA StringCopyWorkerA_instead_use_StringCchCopyA_or_StringCchCopyExA;
|
||||
#define StringCopyWorkerW StringCopyWorkerW_instead_use_StringCchCopyW_or_StringCchCopyExW;
|
||||
|
Loading…
Reference in New Issue
Block a user