k_strncpy_allow_cutoff = 1
};
-VG_STATIC void vg_strncpy( const char *src, char *dst, u32 len,
- enum strncpy_behaviour behaviour )
+VG_STATIC u32 vg_strncpy( const char *src, char *dst, u32 len,
+ enum strncpy_behaviour behaviour )
{
for( u32 i=0; i<len; i++ ){
dst[i] = src[i];
- if( !src[i] )
- break;
+ if( !src[i] ) return i;
- if( (behaviour == k_strncpy_always_add_null) && (i == len-1) )
+ if( (behaviour == k_strncpy_always_add_null) && (i == len-1) ){
dst[i] = '\0';
+ return i;
+ }
}
+
+ return 0;
}
VG_STATIC u32 vg_strdjb2( const char *str )