|
|
#include "si_system.h" int console_visible = 0; char **argv; int argc; SYSTEM sys; string last_error; //Display error message void error(char* formatstr, ...) { va_list argptr; static char msg[1024]; va_start(argptr, formatstr); vsprintf(msg, formatstr, argptr); va_end(argptr); if(last_error!=msg) { cout << "Error: " << msg << endl; if(con) { con->printf("Error: "); con->printf(msg); con->printf("\n"); if(console_visible) { con->draw_page(); } } last_error = msg; } } void error(string s) { error("%s",s.c_str()); } void message(char* formatstr, ...) { va_list argptr; static char msg[1024]; va_start(argptr, formatstr); vsprintf(msg, formatstr, argptr); va_end(argptr); cout << msg << endl; if(con) { con->printf(msg); con->printf("\n"); if(console_visible) { con->draw_page(); } } } void message(string s) { message("%s",s.c_str()); } void wait_no_key() { while(keypressed()) { clear_keybuf(); usleep(1); } } void wait() { wait_no_key(); while(!keypressed()) { usleep(1); } clear_keybuf(); } char tkey[KEY_MAX]; void tst_key_init() { bzero(tkey, KEY_MAX); } int tst_key(int k) { if(!key[k]) { tkey[k] = 0; return 0; } else { if(tkey[k]) { return 0; } else { tkey[k] = 1; return 1; } } } void SYSTEM::init() { env.clear(); argc = 0; argv = NULL; } void SYSTEM::set(int c, char **v) { int i; string s, par; argc = c; argv = v; for(i=0;i!=c;i++) { s = argv[i]; if(s[0] == '-') { if(!par.empty()) { env[par] = SYSTEM_TRUE; par.clear(); } par = s.substr(1,s.length()); } else { if(par.empty()) { par = "nopar"; } env[par] = s; par = ""; } if(!par.empty()) { env[par] = SYSTEM_TRUE; cout << par << endl; } } } /* Return data */ string SYSTEM::get(string name) { return env[name]; } int SYSTEM::exist(string name) { return !env[name].empty(); } fd_set rfds; struct timeval tv; int retval; char term_buf[1024]; void terminal_init() { bzero(term_buf, 1023); tv.tv_sec = 0; tv.tv_usec = 0; } string terminal() { string s = ""; FD_ZERO(&rfds); FD_SET(0, &rfds); retval = select(1, &rfds, NULL, NULL, &tv); if (retval) { read(0, term_buf, 1023); s = term_buf; bzero(term_buf, 1023); } return s; }
Generated by: georgik on armada on Sat Jul 24 07:07:15 2004, using kdoc 2.0a54. |