mirror of
https://github.com/reactos/reactos.git
synced 2024-11-06 06:33:08 +00:00
62 lines
946 B
C
62 lines
946 B
C
|
//
|
||
|
// safestr.h
|
||
|
//
|
||
|
// safe versions of some string manipulation routines
|
||
|
//
|
||
|
|
||
|
#ifndef __SAFESTR_H
|
||
|
#define __SAFESTR_H
|
||
|
|
||
|
#include <tchar.h>
|
||
|
|
||
|
#ifndef tchar
|
||
|
#define tchar TCHAR
|
||
|
#endif//tchar
|
||
|
|
||
|
#include <string.h>
|
||
|
#include "assert.h"
|
||
|
|
||
|
inline size_t safestrlen ( const tchar *string )
|
||
|
{
|
||
|
if ( !string )
|
||
|
return 0;
|
||
|
return _tcslen(string);
|
||
|
}
|
||
|
|
||
|
inline tchar* safestrcpy ( tchar* strDest, const tchar* strSource )
|
||
|
{
|
||
|
ASSERT(strDest);
|
||
|
if ( !strSource )
|
||
|
*strDest = 0;
|
||
|
else
|
||
|
_tcscpy ( strDest, strSource );
|
||
|
return strDest;
|
||
|
}
|
||
|
|
||
|
inline tchar* safestrncpy ( tchar* strDest, const tchar* strSource, size_t count )
|
||
|
{
|
||
|
ASSERT(strDest);
|
||
|
if ( !strSource )
|
||
|
count = 0;
|
||
|
else
|
||
|
_tcsncpy ( strDest, strSource, count );
|
||
|
strDest[count] = 0;
|
||
|
return strDest;
|
||
|
}
|
||
|
|
||
|
inline tchar* safestrlwr ( tchar* str )
|
||
|
{
|
||
|
if ( !str )
|
||
|
return 0;
|
||
|
return _tcslwr(str);
|
||
|
}
|
||
|
|
||
|
inline tchar* safestrupr ( tchar* str )
|
||
|
{
|
||
|
if ( !str )
|
||
|
return 0;
|
||
|
return _tcsupr(str);
|
||
|
}
|
||
|
|
||
|
#endif//__SAFESTR_H
|