// File: /workspace/github_c_makefile_star2_O0/markpeerdeman[P]mbemm/src/general/m_io.c
// Function: evaluate_level
void evaluate_level(const int status,const int messagenumber )
{

/* ANSI VERSION SPECIFIC FEATURES **************************************/
#ifdef ANSI 
   switch(status) {
	 case BEGIN: { CURRENT_STATUS=GREEN; break; }
     case GREEN:  { fprintf(stderr,"STATUS  [%3d]: %s\n",messagenumber,message(messagenumber));
		    greens++;
			CURRENT_STATUS=GREEN;
		    break;
		  }
     case YELLOW: { fprintf(stderr,"\033[1mWARNING [%3d]: %s\n",messagenumber,message(messagenumber));
		    yellows++;
			CURRENT_STATUS=YELLOW;
		    break;
		  }
     case RED:    { fprintf(stderr,"\033[1mERROR  [%3d]: %s\033[m\n",messagenumber,message(messagenumber));

		    reds++;
			CURRENT_STATUS=RED;
		    fprintf(stderr,"\n* status messages:   %3d\n* warnings:          %3d\n* errors:            %3d\n" ,greens,yellows,reds);
		    fprintf(stderr,"Execution aborted.\n");
		    exit(-1);
		    break;
		  }
     case FINISH: { fprintf(stderr,"\nFINISH  [%3d]: %s\n",messagenumber,message(messagenumber));
		    fprintf(stderr,"\n* status messages:   %3d\n* warnings:          %3d\n* errors:            %3d\n" ,greens,yellows,reds);
			fprintf(stderr,"Execution ready.\n\n");
		    exit(-1);
		    break;
		  }
   } /* end switch */
#endif
/************************************************************************/
/* WINDOWS SPECIFIC CODE
 */

#ifdef WINDOWS
switch(status) {
   case BEGIN:  { 
                  break;
                }
   case GREEN: { break;  /* no status message printing */
               }
   case YELLOW: { MessageBox(NULL,message(messagenumber),"WARNING",MB_ICONINFORMATION);
				 yellows++;
				 break;
               }
   case RED: { MessageBox(NULL,message(messagenumber),"ERROR",MB_ICONSTOP);
				 reds++;
				 exit(-1);
				 break;                              
			   }
   case FINISH: { 
				  break;
				}
  }
#endif
}

// Assembly:
subq $0x58, %rsp
movl %edi, 0x54(%rsp)
movl %esi, 0x50(%rsp)
movl 0x54(%rsp), %eax
movq %rax, 0x48(%rsp)
subq $0x5, %rax
ja 0x1541a
movq 0x48(%rsp), %rax
leaq 0x5535(%rip), %rcx      # 0x1a760
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x0, 0x966a(%rip)      # 0x1e8a8
jmp 0x1541a
movq 0x8dae(%rip), %rax      # 0x1dff8
movq (%rax), %rax
movq %rax, 0x38(%rsp)
movl 0x50(%rsp), %eax
movl %eax, 0x44(%rsp)
movl 0x50(%rsp), %edi
callq 0x14cf0
movq 0x38(%rsp), %rdi
movl 0x44(%rsp), %edx
movq %rax, %rcx
leaq 0x6052(%rip), %rsi      # 0x1b2c8
movb $0x0, %al
callq 0x10d0
movl 0x9629(%rip), %eax      # 0x1e8ac
addl $0x1, %eax
movl %eax, 0x9620(%rip)      # 0x1e8ac
movl $0x0, 0x9612(%rip)      # 0x1e8a8
jmp 0x1541a
movq 0x8d56(%rip), %rax      # 0x1dff8
movq (%rax), %rax
movq %rax, 0x28(%rsp)
movl 0x50(%rsp), %eax
movl %eax, 0x34(%rsp)
movl 0x50(%rsp), %edi
callq 0x14cf0
movq 0x28(%rsp), %rdi
movl 0x34(%rsp), %edx
movq %rax, %rcx
leaq 0x600d(%rip), %rsi      # 0x1b2db
movb $0x0, %al
callq 0x10d0
movl 0x95d5(%rip), %eax      # 0x1e8b0
addl $0x1, %eax
movl %eax, 0x95cc(%rip)      # 0x1e8b0
movl $0x1, 0x95ba(%rip)      # 0x1e8a8
jmp 0x1541a
movq 0x8cfe(%rip), %rax      # 0x1dff8
movq (%rax), %rax
movq %rax, 0x18(%rsp)
movl 0x50(%rsp), %eax
movl %eax, 0x24(%rsp)
movl 0x50(%rsp), %edi
callq 0x14cf0
movq 0x18(%rsp), %rdi
movl 0x24(%rsp), %edx
movq %rax, %rcx
leaq 0x5fcc(%rip), %rsi      # 0x1b2f2
movb $0x0, %al
callq 0x10d0
movl 0x9581(%rip), %eax      # 0x1e8b4
addl $0x1, %eax
movl %eax, 0x9578(%rip)      # 0x1e8b4
movl $0x2, 0x9562(%rip)      # 0x1e8a8
movq 0x8cab(%rip), %rax      # 0x1dff8
movq (%rax), %rdi
movl 0x9556(%rip), %edx      # 0x1e8ac
movl 0x9554(%rip), %ecx      # 0x1e8b0
movl 0x9551(%rip), %r8d      # 0x1e8b4
leaq 0x5fa1(%rip), %rsi      # 0x1b30b
movb $0x0, %al
callq 0x10d0
movq 0x8c80(%rip), %rax      # 0x1dff8
movq (%rax), %rdi
leaq 0x5fd6(%rip), %rsi      # 0x1b358
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1140
movq 0x8c5e(%rip), %rax      # 0x1dff8
movq (%rax), %rax
movq %rax, 0x8(%rsp)
movl 0x50(%rsp), %eax
movl %eax, 0x14(%rsp)
movl 0x50(%rsp), %edi
callq 0x14cf0
movq 0x8(%rsp), %rdi
movl 0x14(%rsp), %edx
movq %rax, %rcx
leaq 0x5fa6(%rip), %rsi      # 0x1b36c
movb $0x0, %al
callq 0x10d0
movq 0x8c24(%rip), %rax      # 0x1dff8
movq (%rax), %rdi
movl 0x94cf(%rip), %edx      # 0x1e8ac
movl 0x94cd(%rip), %ecx      # 0x1e8b0
movl 0x94ca(%rip), %r8d      # 0x1e8b4
leaq 0x5f1a(%rip), %rsi      # 0x1b30b
movb $0x0, %al
callq 0x10d0
movq 0x8bf9(%rip), %rax      # 0x1dff8
movq (%rax), %rdi
leaq 0x5f77(%rip), %rsi      # 0x1b380
movb $0x0, %al
callq 0x10d0
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1140
addq $0x58, %rsp
retq
nop