1 #ifndef __STRSAFE_GCC__383773443
2 #define __STRSAFE_GCC__383773443
9 #error Trying to use strsafe.h for GCC within Visual Studio
12 static int vsnprintf(char *buffer
,size_t count
, const char *format
, va_list argptr
)
14 return vsprintf(buffer
, format
, argptr
);
18 static void StringCchPrintfA(char *pszDest
,size_t cbDest
, char *pszFormat
, ...)
21 va_start( marker
, pszFormat
); /* Initialize variable arguments. */
23 if (cbDest
== 0 || pszDest
== NULL
|| pszFormat
== NULL
)
27 pszDest
[cbDest
- 1] = '\0';
28 vsnprintf(pszDest
, cbDest
- 1, pszFormat
, marker
);
33 static void StringCchPrintfW( WCHAR
*pszDest
,size_t cbDest
, WCHAR
*pszFormat
, ...)
36 va_start( marker
, pszFormat
); /* Initialize variable arguments. */
38 if (cbDest
== 0 || pszDest
== NULL
|| pszFormat
== NULL
)
42 pszDest
[cbDest
- 1] = L
'\0';
43 _vsnwprintf(pszDest
, cbDest
- 1, pszFormat
, marker
);
49 static void StringCchCopyA(char *pszDest
,size_t cbDest
, const char* pszSrc
)
51 if (cbDest
== 0 || pszDest
== NULL
|| pszSrc
== NULL
)
54 pszDest
[cbDest
- 1] = '\0';
56 strncpy(pszDest
, pszSrc
, cbDest
- 1);
60 static void StringCchCatA(char* pszDest
, size_t cbDest
,const char* pszSrc
)
62 if (cbDest
== 0 || pszDest
== NULL
|| pszSrc
== NULL
)
65 pszDest
[cbDest
- 1] = '\0';
67 strncat(pszDest
, pszSrc
, cbDest
- 1);
72 #define StringCchPrintf StringCchPrintfW
74 #define StringCchPrintf StringCchPrintfA