reactos/lib/sdk/crt/string/strset.c
Timo Kreuzer 0fab7e8671 [CRT]
On MSVC mark abs, labs and strcmp as intrinsics (needed when compiling with /O2+) and disable a warning that they are not intrinsics (when compiled with /O1)

svn path=/branches/cmake-bringup/; revision=50494
2011-01-25 20:48:56 +00:00

56 lines
935 B
C

/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
* FILE: lib/crt/strset.c
* PURPOSE: Implementation of _strnset and _strset
* PROGRAMER: Unknown
* UPDATE HISTORY:
* 25/11/05: Added license header
*/
#if defined(__GNUC__) && !defined(__clang__)
#define __int64 long long
#elif defined(_MSC_VER)
#pragma warning(disable: 4164)
#pragma function(_strset)
#endif
#ifdef _WIN64
typedef unsigned __int64 size_t;
#else
typedef unsigned int size_t;
#endif
/*
* @implemented
*/
char* _strnset(char* szToFill, int szFill, size_t sizeMaxFill)
{
char *t = szToFill;
int i = 0;
while (*szToFill != 0 && i < (int) sizeMaxFill)
{
*szToFill = szFill;
szToFill++;
i++;
}
return t;
}
/*
* @implemented
*/
char* _strset(char* szToFill, int szFill)
{
char *t = szToFill;
while (*szToFill != 0)
{
*szToFill = szFill;
szToFill++;
}
return t;
}