// File: /workspace/github_c_makefile_star2_O2/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:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
cmpl $0x5, %edi
ja 0xb123
movl %esi, %ebx
movl %edi, %ebp
xorl %eax, %eax
movl %edi, %ecx
leaq 0x347c(%rip), %rdx      # 0xe590
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl %eax, 0x97a5(%rip)      # 0x148c8
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x979d(%rip), %r12      # 0x148d0
leaq 0x41f1(%rip), %r14      # 0xf32b
jmp 0xb14a
leaq 0x9789(%rip), %r12      # 0x148cc
leaq 0x41ce(%rip), %r14      # 0xf318
movq 0x8ea7(%rip), %rax      # 0x13ff8
movq (%rax), %r15
movl %ebx, %edi
callq 0xb0d4
movq %r15, %rdi
movq %r14, %rsi
movl %ebx, %edx
movq %rax, %rcx
xorl %eax, %eax
callq 0x10f0
incl (%r12)
movl %ebp, %eax
jmp 0xb11d
movq 0x8e7c(%rip), %r15      # 0x13ff8
movq (%r15), %r14
movl %ebx, %edi
callq 0xb0d4
leaq 0x422f(%rip), %rsi      # 0xf3bc
movq %r14, %rdi
movl %ebx, %edx
movq %rax, %rcx
xorl %eax, %eax
callq 0x10f0
movq (%r15), %rdi
movl 0x9727(%rip), %edx      # 0x148cc
movl 0x9725(%rip), %ecx      # 0x148d0
movl 0x9722(%rip), %r8d      # 0x148d4
leaq 0x41a2(%rip), %rsi      # 0xf35b
xorl %eax, %eax
callq 0x10f0
movq (%r15), %rcx
leaq 0x4206(%rip), %rdi      # 0xf3d0
pushq $0x12
jmp 0xb239
movq 0x8e23(%rip), %r15      # 0x13ff8
movq (%r15), %r14
movl %ebx, %edi
callq 0xb0d4
leaq 0x415c(%rip), %rsi      # 0xf342
movq %r14, %rdi
movl %ebx, %edx
movq %rax, %rcx
xorl %eax, %eax
callq 0x10f0
movl 0x96d8(%rip), %r8d      # 0x148d4
incl %r8d
movl %r8d, 0x96ce(%rip)      # 0x148d4
movl $0x2, 0x96b8(%rip)      # 0x148c8
movq (%r15), %rdi
movl 0x96b3(%rip), %edx      # 0x148cc
movl 0x96b1(%rip), %ecx      # 0x148d0
leaq 0x4135(%rip), %rsi      # 0xf35b
xorl %eax, %eax
callq 0x10f0
movq (%r15), %rcx
leaq 0x4171(%rip), %rdi      # 0xf3a8
pushq $0x13
popq %rsi
pushq $0x1
popq %rdx
callq 0x1190
pushq $-0x1
popq %rdi
callq 0x1180
nop