#ifndef __TRACYSTRING_HPP__ #define __TRACYSTRING_HPP__ #include #include #include "TracyAssert.hpp" namespace tracy { static inline size_t strzcpy( char* __restrict dst, const char* __restrict src, size_t dstSize ) { TRACY_ASSERT( dstSize > 0 ); const auto end = (const char*)memchr( src, '\0', dstSize ); if( end != nullptr ) { const auto srcSz = end - src; memcpy( dst, src, srcSz + 1 ); return srcSz; } else { memcpy( dst, src, dstSize - 1 ); dst[dstSize - 1] = '\0'; return dstSize - 1; } } } #endif