diff --git a/docs/rh-log.txt b/docs/rh-log.txt index 4a4d9dd18..52c7fad68 100644 --- a/docs/rh-log.txt +++ b/docs/rh-log.txt @@ -1,3 +1,9 @@ +October 30, 2006 +- Version bump to 2.1.7. +- Fixed: Placing a /* */ comment at the very end of a file without a + terminating newline would not parse reliably. +- Added a NULL WallSpriteTile check to R_RenderDecal(). + October 28, 2006 (Changes by Graf Zahl) - Changed parameter storage for states to use a separate member variable instead of forcing it into misc1/misc2. Although this increases the EXE's diff --git a/src/c_dispatch.cpp b/src/c_dispatch.cpp index f5515cd86..1403dac6b 100644 --- a/src/c_dispatch.cpp +++ b/src/c_dispatch.cpp @@ -927,7 +927,7 @@ FString SubstituteAliasParams (FString &command, FCommandLine &args) // Extract the argument number and substitute the corresponding argument. argnum = strtoul (p + 1 + (p[1] == '{'), &start, 10); - if ((p[1] != '{' || *start == '}') && argnum < args.argc()) + if ((p[1] != '{' || *start == '}') && argnum < (unsigned long)args.argc()) { buf += args[argnum]; } diff --git a/src/r_segs.cpp b/src/r_segs.cpp index be31b7a64..aa3dbe880 100644 --- a/src/r_segs.cpp +++ b/src/r_segs.cpp @@ -2167,7 +2167,7 @@ static void R_RenderDecal (side_t *wall, DBaseDecal *decal, drawseg_t *clipper, WallSpriteTile = TexMan(decal->PicNum); flipx = (BYTE)(decal->RenderFlags & RF_XFLIP); - if (WallSpriteTile->UseType == FTexture::TEX_Null) + if (WallSpriteTile == NULL || WallSpriteTile->UseType == FTexture::TEX_Null) { return; } diff --git a/src/sc_man_scanner.h b/src/sc_man_scanner.h index 34cff4c88..c7d35b43d 100644 --- a/src/sc_man_scanner.h +++ b/src/sc_man_scanner.h @@ -495,12 +495,12 @@ comment: ++YYCURSOR; if((yych = *YYCURSOR) == '/') goto yy85; yy81: -#line 121 "src/sc_man_scanner.re" +#line 129 "src/sc_man_scanner.re" { goto comment; } #line 501 "src/sc_man_scanner.h" yy82: ++YYCURSOR; -#line 111 "src/sc_man_scanner.re" +#line 119 "src/sc_man_scanner.re" { if (YYCURSOR >= YYLIMIT) { @@ -517,11 +517,18 @@ yy84: goto yy81; yy85: ++YYCURSOR; -#line 109 "src/sc_man_scanner.re" - { goto std1; } -#line 523 "src/sc_man_scanner.h" +#line 110 "src/sc_man_scanner.re" + { + if (YYCURSOR >= YYLIMIT) + { + ScriptPtr = ScriptEndPtr; + return false; + } + goto std1; + } +#line 530 "src/sc_man_scanner.h" } -#line 122 "src/sc_man_scanner.re" +#line 130 "src/sc_man_scanner.re" newline: diff --git a/src/sc_man_scanner.re b/src/sc_man_scanner.re index 49548dce3..3f1287a28 100644 --- a/src/sc_man_scanner.re +++ b/src/sc_man_scanner.re @@ -106,7 +106,15 @@ negative_check: comment: /*!re2c - "*/" { goto std1; } + "*/" + { + if (YYCURSOR >= YYLIMIT) + { + ScriptPtr = ScriptEndPtr; + return false; + } + goto std1; + } "\n" { if (YYCURSOR >= YYLIMIT) diff --git a/src/thingdef_exp.cpp b/src/thingdef_exp.cpp index eaf6a3687..f4f18d840 100644 --- a/src/thingdef_exp.cpp +++ b/src/thingdef_exp.cpp @@ -890,6 +890,8 @@ static ExpVal EvalExpression (ExpData *data, AActor *self) switch (data->Type) { case EX_NOP: + assert (data->Type != EX_NOP); + val = data->Value; break; case EX_Const: val = data->Value; diff --git a/src/version.h b/src/version.h index bd5acd371..dda594111 100644 --- a/src/version.h +++ b/src/version.h @@ -40,13 +40,13 @@ /** Lots of different version numbers **/ -#define DOTVERSIONSTR_NOREV "2.1.6" +#define DOTVERSIONSTR_NOREV "2.1.7" // The version string the user actually sees. #define DOTVERSIONSTR DOTVERSIONSTR_NOREV " (r" SVN_REVISION_STRING ")" // The version as seen in the Windows resource -#define RC_FILEVERSION 2,1,6,SVN_REVISION_NUMBER +#define RC_FILEVERSION 2,1,7,SVN_REVISION_NUMBER #define RC_PRODUCTVERSION 2,1,0,0 #define RC_FILEVERSION2 DOTVERSIONSTR #define RC_PRODUCTVERSION2 "2.1"