settemp_for_type and clientsettemp_for_type #include crashes server/client
- settemp_for_type #include foo.cfg
- clientsettemp_for_type #include bar.cfg
crash the server or client if foo.cfg contains a line where a // comment is indented by one or more tab characters (before the //). Spaces are ok, as are tabs after the //.
It looks like this:
Host_Error: server: Bad string
QuakeC crash report for server:
s70377: STORE_F GLOBAL25608, GLOBAL48393
s70378: STORE_F GLOBAL48391, GLOBAL48373
s70379: ^5IFNOT GLOBAL48391, statement 70469
s70380: ^2AND GLOBAL48373, GLOBAL48373, GLOBAL48373
s70381: ^5IFNOT GLOBAL48373, statement 70452
s70382: STORE_S GLOBAL48391, GLOBAL4
s70383: ^3CALL1 cvar_type (=cvar_type())
op : cvar_settemp : statement 6
: _MapInfo_Parse_Settemp : statement 280
: _MapInfo_Parse_Settemp : statement 161
: MapInfo_Get_ByName_NoFallbacks : statement 640
: MapInfo_Get_ByName : statement 3
: MapInfo_LoadMapSettings : statement 15
ld : InitGameplayMode : statement 39
ld : __spawnfunc_worldspawn : statement 173
: StartFrame : statement 10
Host_ShutdownServer
Also, if there are any tabs after a cvar value, for example before a comment, they are included in the cvar value, even if there are spaces first (unless the value is quoted).
These tab issues affect Nexuiz 2.5.2, Xonotic 0.8.2, current autobuilds and git.
Edited by bones_was_here