diff --git a/code/client/cl_cgame.c b/code/client/cl_cgame.c index 29ab443..b6531fb 100644 --- a/code/client/cl_cgame.c +++ b/code/client/cl_cgame.c @@ -623,7 +623,8 @@ int CL_CgameSystemCalls( int *args ) { Com_Memcpy( VMA(1), VMA(2), args[3] ); return 0; case CG_STRNCPY: - return (int)strncpy( VMA(1), VMA(2), args[3] ); + strncpy( VMA(1), VMA(2), args[3] ); + return args[1]; case CG_SIN: return FloatAsInt( sin( VMF(1) ) ); case CG_COS: diff --git a/code/client/cl_ui.c b/code/client/cl_ui.c index 96cc07e..b6a6fc6 100644 --- a/code/client/cl_ui.c +++ b/code/client/cl_ui.c @@ -1043,7 +1043,8 @@ int CL_UISystemCalls( int *args ) { return 0; case UI_STRNCPY: - return (int)strncpy( VMA(1), VMA(2), args[3] ); + strncpy( VMA(1), VMA(2), args[3] ); + return args[1]; case UI_SIN: return FloatAsInt( sin( VMF(1) ) ); diff --git a/code/server/sv_game.c b/code/server/sv_game.c index f99466d..2ab78cc 100644 --- a/code/server/sv_game.c +++ b/code/server/sv_game.c @@ -828,7 +828,8 @@ int SV_GameSystemCalls( int *args ) { return 0; case TRAP_STRNCPY: - return (int)strncpy( VMA(1), VMA(2), args[3] ); + strncpy( VMA(1), VMA(2), args[3] ); + return args[1]; case TRAP_SIN: return FloatAsInt( sin( VMF(1) ) );