--- /dev/null
+//
+// 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