static void ansi_code(FILE *f,int *args,int nargs,int code) { #ifdef WIN32 static int x=0; static int y=0; #endif if (!ansi_on) { switch (code) { case 'D': fprintf(f,"\n"); break; } return; } #ifdef WIN32 if (wsys_win32_api()) switch (code) { case 'm': ansi_win32_setcolor(f,args[0]); break; case 'K': ansi_win32_erase_end_line(f); break; case 'A': ansi_win32_cursor_up(f,args[0]); break; case 'D': ansi_win32_cursor_left(f,args[0]); break; case 'J': ansi_win32_clear(f); break; case 'H': ansi_win32_cursor_position(f,args[1],args[0]); break; case 's': ansi_win32_get_cursor(f,&x,&y); break; case 'u': ansi_win32_cursor_position(f,x,y); break; } #endif }
int avprintf(FILE *f,char *fmt,va_list args) { int status; #ifdef WIN32 if (wsys_win32_api()) { status=vsprintf(ansi_buffer,fmt,args); ansi_parse(f,ansi_buffer); } else #endif { if (!ansi_on) { status=vsprintf(ansi_buffer,fmt,args); ansi_parse(f,ansi_buffer); } else status=vfprintf(f,fmt,args); } return(status); }
void wsys_system_version(char *system,char *_os,char *_chip,char *_compiler) { char compiler_version[80],compname[100]; int ccode,oscode,chipcode; static char *compiler[] = {"Unknown C compiler","Watcom C","Gnu C", "HPUX ANSI C","Sun C","Cray C","Turbo C", "Microsoft Visual C++","Gnu C (DJGPP)", "Gnu C (RSXNT/EMX)","Intel C/C++","HPUX C++", "Digital Mars C/C++","LCC","Watcom C/C++", "Borland C/C++","Gnu C (Mingw32)", "Intel C++ for Linux","Gnu C (Mingw64)","Tiny CC"}; static char *os[] = {"Unknown O/S","Unix","VMS","Unicos","SunOS","HPUX", "MS-DOS","Win32","MS-DOS (32-bit)","OS/X", "Linux","SuSE Linux","Win64"}; static char *chip[] = {"Unknown architecture","CRAY2","CRAY","hppa 1.0", "hppa 1.1","sparc","i386","hppa 2.0","PPC","x64"}; ccode=0; oscode=0; chipcode=0; compiler_version[0]='\0'; /* O/S's (more general) */ #if (defined(UNIX)) oscode=1; #elif (defined(__vax__) || defined(__vax) || defined(__vms)) oscode=2; #endif /* Specific O/S's */ #if (defined(WIN64)) oscode=12; #elif (defined(WIN32)) if (wsys_win32_api()) oscode=7; else oscode=8; chipcode=6; #elif (defined(MSDOS32)) oscode=8; chipcode=6; #elif (defined(MSDOS)) oscode=6; chipcode=6; #elif (defined(__linux) && defined(__VERSION__)) if (in_string(__VERSION__,"SuSE")>=0) oscode=11; else oscode=10; #elif (defined(__linux)) oscode=10; #elif (defined(__sun) || defined(sun)) oscode=4; ccode=4; #elif (defined(hpux) || defined(__hpux)) ccode=3; oscode=5; ccode=3; #if (defined(__cplusplus)) ccode=11; #endif #elif (defined(_CRAY)) ccode=5; oscode=3; chipcode=2; #elif (defined(_CRAY2)) ccode=5; oscode=3; chipcode=1; #elif (defined(__ppc__) || defined(__MACH__)) oscode=9; #endif /* Specific chips */ #if (defined(i386) || defined(__i386__) || defined(__i386) || defined(__386__) || defined(_M_IX86)) chipcode=6; #elif (defined(__x86_64) || defined(__amd64__)) chipcode=9; #elif (defined(__sparc) || defined(sparc)) chipcode=5; #elif (defined(_PA_RISC1_1)) chipcode=4; #elif (defined(_PA_RISC2_0)) chipcode=7; #elif (defined(__ppc__)) chipcode=8; #endif /* Specific compilers */ #if (defined(__DMC__)) ccode=12; sprintf(compiler_version,"v%d.%d",((__DMC__ &0xf00)>>8),((__DMC__ &0xf0)>>4)); #elif (defined(__LCC__)) ccode=13; strcpy(compiler_version,"3.7"); #elif (defined(__BORLANDC__)) ccode=15; sprintf(compiler_version,"v%d.%d.%d", (__BORLANDC__ >> 8)&0xf, (__BORLANDC__ >> 4)&0xf, (__BORLANDC__ )&0xf); #elif (defined(__WATCOMC__)) ccode=14; sprintf(compiler_version,"%.2f",(double)__WATCOMC__/100.); #elif (defined(DJGPP)) ccode=8; gnu_compiler(compiler_version); #elif (defined(__MINGW64__)) ccode=18; gnu_compiler(compiler_version); #elif (defined(__MINGW32__)) ccode=16; gnu_compiler(compiler_version); #elif (defined(EMX)) ccode=9; gnu_compiler(compiler_version); #elif (defined(__GNUC__)) ccode=2; gnu_compiler(compiler_version); #elif (defined(__TURBOC__)) ccode=6; #elif (defined(__ICL)) ccode=10; sprintf(compiler_version,"v%4.2f",__ICL/100.); #elif (defined(_MSC_VER)) ccode=7; sprintf(compiler_version,"v%4.2f",_MSC_VER/100.-6.0); #elif (defined(__386__)) ccode=1; #elif (defined(__TINYC__)) ccode=19; compiler_version[0]='\0'; #elif (defined(__INTEL_COMPILER)) #if (defined(__linux__)) ccode=17; #else ccode=10; #endif sprintf(compiler_version,"v%4.2f",__INTEL_COMPILER/100.); #endif if (compiler_version[0]!='\0') sprintf(compname,"%s %s",compiler[ccode],compiler_version); else strcpy(compname,compiler[ccode]); if (system!=NULL) sprintf(system,"%s, %s, %s",os[oscode],chip[chipcode],compname); if (_os!=NULL) strcpy(_os,os[oscode]); if (_chip!=NULL) strcpy(_chip,chip[chipcode]); if (_compiler!=NULL) strcpy(_compiler,compname); }