summaryrefslogtreecommitdiff
path: root/source/cl_demo.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/cl_demo.c')
-rw-r--r--source/cl_demo.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/source/cl_demo.c b/source/cl_demo.c
index ce77c86..172f955 100644
--- a/source/cl_demo.c
+++ b/source/cl_demo.c
@@ -254,7 +254,7 @@ void CL_Record_f( void ) {
if( *string == '/' ) {
Q_strncpyz( name, string + 1, sizeof( name ) );
} else {
- Com_sprintf( name, sizeof( name ), "demos/%s", string );
+ Q_concat( name, sizeof( name ), "demos/", string, NULL );
COM_AppendExtension( name, ".dm2", sizeof( name ) );
}
if( compressed ) {
@@ -417,9 +417,10 @@ static void CL_PlayDemo_f( void ) {
fileHandle_t demofile;
char *arg;
int length;
+ int argc = Cmd_Argc();
- if( Cmd_Argc() < 2 ) {
- Com_Printf( "Usage: %s <filename>\n", Cmd_Argv( 0 ) );
+ if( argc < 2 ) {
+ Com_Printf( "Usage: %s <filename> [...]\n", Cmd_Argv( 0 ) );
return;
}
@@ -433,7 +434,7 @@ static void CL_PlayDemo_f( void ) {
FS_FOpenFile( name, &demofile, FS_MODE_READ );
} else {
// Search for matching extensions
- Com_sprintf( name, sizeof( name ), "demos/%s", arg );
+ Q_concat( name, sizeof( name ), "demos/", arg, NULL );
FS_FOpenFile( name, &demofile, FS_MODE_READ );
if( !demofile ) {
COM_AppendExtension( name, ".dm2", sizeof( name ) );
@@ -446,6 +447,16 @@ static void CL_PlayDemo_f( void ) {
return;
}
+#if 0
+ // add trailing filenames to play list
+ for( i = 2; i < argc; i++ ) {
+ arg = Cmd_Argv( i );
+ length = strlen( arg );
+ entry = Z_Malloc( sizeof( *entry ) + length );
+ memcpy( entry->filename, arg, length + 1 );
+ }
+#endif
+
if( sv_running->integer ) {
// if running a local server, kill it and reissue
SV_Shutdown( "Server was killed\n", KILL_DROP );