OSDN Git Service

- Bio Hazard's ACC tweaks:
[zandronum/zandronum-acc.git] / token.c
diff --git a/token.c b/token.c
index 1436354..d949b79 100644 (file)
--- a/token.c
+++ b/token.c
@@ -189,6 +189,7 @@ static struct keyword_s
        { "libdefine", TK_LIBDEFINE },\r
        { "bool", TK_BOOL },\r
        { "net", TK_NET },\r
+       { "clientside", TK_CLIENTSIDE }, // [BB]\r
        { "disconnect", TK_DISCONNECT },\r
        { "unloading", TK_UNLOADING },\r
        { "static", TK_STATIC }\r
@@ -331,6 +332,7 @@ void TK_AddIncludePath(char *sourcePath)
                        // Add a directory delimiter to the include path\r
                        strcat(IncludePaths[NumIncludePaths], "/");\r
                }\r
+               MS_Message(MSG_DEBUG, "Add include path %d: \"%s\"\n", NumIncludePaths, IncludePaths[NumIncludePaths]);\r
                NumIncludePaths++;\r
        }\r
 }\r
@@ -348,11 +350,15 @@ void TK_AddProgramIncludePath(char *progname)
        {\r
 #ifdef _WIN32\r
 #ifdef _MSC_VER\r
+#if _MSC_VER >= 1300\r
                if (_get_pgmptr(&progname) != 0)\r
                {\r
                        return;\r
                }\r
 #else\r
+               progname = _pgmptr;\r
+#endif\r
+#else\r
                char progbuff[1024];\r
                GetModuleFileName(0, progbuff, sizeof(progbuff));\r
                progbuff[sizeof(progbuff)-1] = '\0';\r
@@ -368,6 +374,7 @@ void TK_AddProgramIncludePath(char *progname)
                strcpy(IncludePaths[NumIncludePaths], progname);\r
                if(MS_StripFilename(IncludePaths[NumIncludePaths]))\r
                {\r
+                       MS_Message(MSG_DEBUG, "Program include path is %d: \"%s\"\n", NumIncludePaths, IncludePaths[NumIncludePaths]);\r
                        NumIncludePaths++;\r
                }\r
        }\r
@@ -666,7 +673,7 @@ int TK_NextCharacter(void)
 \r
 void TK_SkipPast(tokenType_t token)\r
 {\r
-       while (tk_Token != token)\r
+       while (tk_Token != token && tk_Token != TK_EOF)\r
        {\r
                TK_NextToken();\r
        }\r
@@ -681,7 +688,7 @@ void TK_SkipPast(tokenType_t token)
 \r
 void TK_SkipTo(tokenType_t token)\r
 {\r
-       while (tk_Token != token)\r
+       while (tk_Token != token && tk_Token != TK_EOF)\r
        {\r
                TK_NextToken();\r
        }\r
@@ -956,8 +963,8 @@ static void ProcessNumberToken(void)
 \r
 static void EvalFixedConstant(int whole)\r
 {\r
-       int frac;\r
-       int divisor;\r
+       double frac;\r
+       double divisor;\r
 \r
        frac = 0;\r
        divisor = 1;\r
@@ -967,7 +974,7 @@ static void EvalFixedConstant(int whole)
                divisor *= 10;\r
                NextChr();\r
        }\r
-       tk_Number = (whole<<16)+((frac<<16)/divisor);\r
+       tk_Number = (whole<<16)+(int)(65536.0*frac/divisor);\r
        tk_Token = TK_NUMBER;\r
 }\r
 \r
@@ -1372,6 +1379,7 @@ static void ProcessSpecialToken(void)
                                        tk_Number = '\r';\r
                                        break;\r
                                case '\'':\r
+                               case '\\':\r
                                        tk_Number = Chr;\r
                                        break;\r
                                default:\r