Free Hero Mesh

Check-in [102b5912d7]
Login
This is a mirror of the main repository for Free Hero Mesh. New tickets and changes will not be accepted at this mirror.
Overview
Comment:Correct some mistakes in the dealing with multibyte characters.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 102b5912d7aa2653a37895752d2b899a4ade363c
User & Date: user on 2023-05-17 20:20:13
Other Links: manifest | tags
Context
2023-07-11
06:59
Implement new SQL functions GAMEOVER, LEVEL_CODE, and LEVEL_VERSION. check-in: 032593e3cb user: user tags: trunk
2023-05-17
20:20
Correct some mistakes in the dealing with multibyte characters. check-in: 102b5912d7 user: user tags: trunk
2023-05-12
06:43
Add WARPED message. check-in: 1ba87a8fa2 user: user tags: trunk
Changes

Modified class.c from [3f858bcddb] to [3051994863].

319
320
321
322
323
324
325
326

327
328
329
330
331
332
333
319
320
321
322
323
324
325

326
327
328
329
330
331
332
333







-
+







      valid_part_of_code(c&0xFF);
      valid_part_of_code((c>>8)&0xFF);
      valid_part_of_code((c>>16)&0xFF);
      if((c>>16)!=p) {
        if(o+(c>>24)>=0x1FFB) ParseError("Converted string too long\n");
        memset(tokenstr+o,0xFE,x=(c>>24)+1);
        o+=x;
        tokenstr[o++]=c>>16;
        tokenstr[o++]=p=c>>16;
      }
      tokenstr[o++]=c>>8; tokenstr[o++]=c;
    }
  }
  tokenstr[o]=0;
}
#endif // CONFIG_OMIT_MBCS
2878
2879
2880
2881
2882
2883
2884

2885

2886
2887
2888
2889
2890
2891
2892
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894







+

+







        case OP_MISC5: define_user_flags(0x1020,0x103F); break;
        case OP_MISC6: define_user_flags(0x1040,0x105F); break;
        case OP_MISC7: define_user_flags(0x1060,0x107F); break;
        case OP_COLLISIONLAYERS: define_user_flags(0x1080,0x1087); break;
        case OP_CODEPAGE:
          nxttok();
          if(tokent!=TF_INT || tokenv<1 || tokenv>0x7FFFFF) ParseError("Number from 1 to 8388607 expected\n");
#ifndef CONFIG_OMIT_MBCS
          if(tokenv==460800 || tokenv==954) has_mbcs=1;
#endif
          set_code_page(tokenv);
          nxttok();
          if(tokent!=TF_CLOSE) ParseError("Expected close parenthesis\n");
          break;
        case OP_ORDER:
          if(norders) ParseError("Extra (Order) block\n");
          parse_order_block();