@@ -287,25 +287,13 @@ parser_verify_ikarus_version:
287287 cmp ebx , IKARUS_VERSION
288288 jge .verifyFilePath
289289
290- sub esp , 0x14
291- mov ecx , esp
292- push NINJA_PARSER_FAILED
293- call zSTRING__zSTRING
294- addStack 4
290+ push ebx
291+ push IKARUS_VERSION
295292 push char_ikarus
296- call zSTRING__operator_plusEq
297- addStack 4
298- push NINJA_PARSER_FAILED_2
299- call zSTRING__operator_plusEq
300- addStack 4
301- push eax
302- call zERROR__Fatal
303- addStack 4
304- ; mov ecx, esp ; Never reached: Safe some space
305- ; call zSTRING___zSTRING
306- add esp , 0x14
293+ call ninja_reportVersionMismatch
294+ addStack 3 * 4
307295 verifyStackoffset g1g2( 0x398 , 0x38C , 0x3F0 , 0x3F0 ) + 0xC
308- jmp .back
296+ ; jmp .back ; Never reached: Safe some space
309297
310298.verifyFilePath:
311299 push NINJA_PATH_IKARUS
@@ -333,40 +321,13 @@ parser_verify_ikarus_version:
333321 verifyStackoffset g1g2( 0x398 , 0x38C , 0x3F0 , 0x3F0 ) + 0xC
334322 jge .back
335323
336- push edi
337- mov edi , eax
338- sub esp , 0x4
339- push 0x200
340- call operator_new
341- add esp , 0x4
342- push 0x1FF
343- push 0x20
344- push eax
345- call _memset
346- add esp , 0xC
347- mov BYTE [ eax + 0x1FF ], 0x0 ; Null-terminated
348- sub esp , 0x14
349- mov ecx , esp
350- push eax
351- call zSTRING__zSTRING
352- addStack 4
353324 push ebx
354- push edi
325+ push eax
355326 push char_ikarus
356- push NINJA_VERSION_INVALID
357- push ecx
358- call zSTRING__Sprintf
359- add esp , 0x14
360- push esp
361- call zERROR__Fatal
362- addStack 4
363- ; mov ecx, esp ; Never reached: Safe some space
364- ; call zSTRING___zSTRING
365- add esp , 0x14
366- push esp
367- call operator_delete
368- add esp , 0x8
369- pop edi
327+ call ninja_reportVersionMismatch
328+ addStack 3 * 4
329+ verifyStackoffset g1g2( 0x398 , 0x38C , 0x3F0 , 0x3F0 ) + 0xC
330+ ; jmp .back ; Never reached: Safe some space
370331
371332.skip:
372333 mov ebx , DWORD [ esp + var_newvalue ] ; New value of symbol (content)
@@ -489,14 +450,8 @@ parser_verify_lego_version:
489450.invalidVersion:
490451 sub esp , 0x14
491452 mov ecx , esp
492- push NINJA_PARSER_FAILED
453+ push NINJA_PATH_INVALID
493454 call zSTRING__zSTRING
494- addStack 4
495- push char_lego
496- call zSTRING__operator_plusEq
497- addStack 4
498- push NINJA_PARSER_FAILED_2
499- call zSTRING__operator_plusEq
500455 addStack 4
501456 push eax
502457 call zERROR__Fatal
@@ -505,7 +460,7 @@ parser_verify_lego_version:
505460 ; call zSTRING___zSTRING
506461 add esp , 0x14
507462 verifyStackoffset g1g2( 0x394 , 0x388 , 0x3EC , 0x3EC ) + 0x10
508- jmp .back
463+ ; jmp .back ; Never reached: Safe some space
509464
510465.verifyFilePath:
511466 push NINJA_PATH_LEGO
@@ -540,41 +495,13 @@ parser_verify_lego_version:
540495 verifyStackoffset g1g2( 0x394 , 0x388 , 0x3EC , 0x3EC ) + 0x10
541496 jge .back
542497
543- push edi
544- mov edi , eax
545- sub esp , 0x4
546- push 0x200
547- call operator_new
548- add esp , 0x4
549- push 0x1FF
550- push 0x20
551- push eax
552- call _memset
553- add esp , 0xC
554- mov BYTE [ eax + 0x1FF ], 0x0 ; Null-terminated
555- sub esp , 0x14
556- mov ecx , esp
557498 push eax
558- call zSTRING__zSTRING
559- addStack 4
560- push edi
561499 push ebx
562500 push char_lego
563- push NINJA_VERSION_INVALID
564- push ecx
565- call zSTRING__Sprintf
566- add esp , 0x14
567- push esp
568- call zERROR__Fatal
569- addStack 4
570- ; mov ecx, esp ; Never reached: Safe some space
571- ; call zSTRING___zSTRING
572- add esp , 0x14
573- ; push esp ; Never reached: Safe some space
574- ; call operator_delete
575- ; add esp, 0x4
576- add esp , 0x4
577- pop edi
501+ call ninja_reportVersionMismatch
502+ addStack 3 * 4
503+ verifyStackoffset g1g2( 0x394 , 0x388 , 0x3EC , 0x3EC ) + 0x10
504+ ; jmp .back ; Never reached: Safe some space
578505
579506.skip:
580507 mov ecx , [ ebp + zCPar_Symbol_content_offset ]
0 commit comments