cleaned up demo filename nonsense
If a filename does not contain at least mode, map and timestamp (due to
messed up format strings), the default format is used to ensure unique
filenames.
server side: added server parameters
demo_max_number
number of demo files to hold in RAM
demo_save
enable/disable writing of demos to file
demo_path
demo file path and filename prefix
demo_filenameformat
format string to assemble demo information to a filename
%g : gamemode (int)
%G : gamemode (chr)
%F : gamemode (full)
%m : minutes remaining
%M : minutes played
%s : seconds remaining
%S : seconds played
%h : IP of server
%H : hostname of server (client only)
%n : mapName
%w : timestamp (formatted by demo_timestampformat)
demo_timestampformat
timestamp format string (see strftime() for format options)
if the string starts with 'U', UTC is used - otherwise local time
client side:
changed demonameformat and demotimeformat to SVARs
demonameformat
like demo_filenameformat
demotimeformat
like demo_timestampformat
removed demotimelocal getdemonameformat getdemotimeformat getdemotimelocal
DOCREF demonameformat demotimeformat
DOCREF demotimelocal getdemonameformat getdemotimeformat getdemotimelocal
This commit is contained in:
@@ -284,7 +284,7 @@ char *filtertext(char *dst, const char *src, int flags, int len)
|
||||
toupp = (flags & FTXT_TOUPPER) != 0, // translates to all-uppercase
|
||||
tolow = (flags & FTXT_TOLOWER) != 0, // translates to all-lowercase
|
||||
filename = (flags & FTXT_FILENAME) != 0, // strict a-z, 0-9 and "-_.()" (also translates "[]" and "{}" to "()"), removes everything between '<' and '>'
|
||||
allowslash = (flags & FTXT_ALLOWSLASH) != 0, // only in combination with FTXT_FILENAME
|
||||
allowslash = (flags & FTXT_ALLOWSLASH) != 0, // only in combination with FTXT_FILENAME or FTXT_MAPNAME
|
||||
mapname = (flags & FTXT_MAPNAME) != 0, // only allows lowercase chars, digits, '_', '-' and '.'; probably should be used in combination with TOLOWER
|
||||
cropwhite = (flags & FTXT_CROPWHITE) != 0, // removes leading and trailing whitespace
|
||||
pass = false;
|
||||
@@ -348,7 +348,7 @@ char *filtertext(char *dst, const char *src, int flags, int len)
|
||||
if(src[1]) ++src;
|
||||
continue;
|
||||
}
|
||||
if(mapname && !isalnum(c) && !strchr("_-./\\", c)) continue;
|
||||
if(mapname && !isalnum(c) && !strchr("_-.", c) && !(allowslash && strchr("/\\", c))) continue;
|
||||
if(isspace(c))
|
||||
{
|
||||
if(leadingwhite) continue;
|
||||
|
||||
Reference in New Issue
Block a user