mirror of
https://github.com/wolfpld/tracy.git
synced 2026-09-22 02:04:23 +00:00
Add safe string copy.
This commit is contained in:
@@ -220,6 +220,7 @@ set(common_includes
|
||||
${TRACY_PUBLIC_DIR}/common/TracyQueue.hpp
|
||||
${TRACY_PUBLIC_DIR}/common/TracySocket.hpp
|
||||
${TRACY_PUBLIC_DIR}/common/TracyStackFrames.hpp
|
||||
${TRACY_PUBLIC_DIR}/common/TracyString.hpp
|
||||
${TRACY_PUBLIC_DIR}/common/TracySystem.hpp
|
||||
${TRACY_PUBLIC_DIR}/common/TracyTaggedUserlandAddress.hpp
|
||||
${TRACY_PUBLIC_DIR}/common/TracyWinFamily.hpp
|
||||
|
||||
@@ -197,6 +197,7 @@ common_includes = [
|
||||
'public/common/TracyQueue.hpp',
|
||||
'public/common/TracySocket.hpp',
|
||||
'public/common/TracyStackFrames.hpp',
|
||||
'public/common/TracyString.hpp',
|
||||
'public/common/TracySystem.hpp',
|
||||
'public/common/TracyTaggedUserlandAddress.hpp',
|
||||
'public/common/TracyWinFamily.hpp',
|
||||
|
||||
31
public/common/TracyString.hpp
Normal file
31
public/common/TracyString.hpp
Normal file
@@ -0,0 +1,31 @@
|
||||
#ifndef __TRACYSTRING_HPP__
|
||||
#define __TRACYSTRING_HPP__
|
||||
|
||||
#include <assert.h>
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
|
||||
namespace tracy
|
||||
{
|
||||
|
||||
static inline size_t strzcpy( char* __restrict dst, const char* __restrict src, size_t dstSize )
|
||||
{
|
||||
assert( dstSize > 0 );
|
||||
|
||||
const auto srcSz = strlen( src );
|
||||
if( srcSz < dstSize )
|
||||
{
|
||||
memcpy( dst, src, srcSz + 1 );
|
||||
return srcSz;
|
||||
}
|
||||
else
|
||||
{
|
||||
memcpy( dst, src, dstSize - 1 );
|
||||
dst[dstSize - 1] = '\0';
|
||||
return dstSize - 1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user