void Database::prepareTableForActions() { char* _errMsg = NULL; int _res = 0; _res = sqlite3_exec( m_db, "CREATE TABLE IF NOT EXISTS Actions ( id INTEGER PRIMARY KEY, \ scriptName TEXT NOT NULL, \ date TEXT, \ time TEXT, \ xdays INTEGER, \ days TINYINT );", NULL, NULL, &_errMsg ); if( _res != SQLITE_OK ) { QMessageBox _msg( QMessageBox::Critical, "Error", "SQL error: " + QString( _errMsg ), QMessageBox::Ok ); _msg.exec(); sqlite3_free( _errMsg ); } _res = sqlite3_exec( m_db, "CREATE TABLE IF NOT EXISTS ExcludedDates ( id INTEGER PRIMARY KEY, \ refId INTEGER NOT NULL, \ time TIME );", NULL, NULL, &_errMsg ); if( _res != SQLITE_OK ) { QMessageBox _msg( QMessageBox::Critical, "Error", "SQL error: " + QString( _errMsg ), QMessageBox::Ok ); _msg.exec(); sqlite3_free( _errMsg ); } clearActions(); }
void Database::insertAction( QDate date, Action* action ) { char* _errMsg = NULL; // make the month/day numbers as 2-digits QString _strMonth = QString::number( date.month() ); QString _strMonthMM = _strMonth.length() == 1 ? "0" + _strMonth : _strMonth; QString _strDay = QString::number( date.day() ); QString _strDayDD = _strDay.length() == 1 ? "0" + _strDay : _strDay; QString _XDays = action->isXDays() ? QString::number( action->getXDays() ) : QString::number( 0 ); // prepare the query QString _query = QString( "INSERT INTO Actions VALUES( " ) + "NULL, " + "'" + action->getScript()->getFileName() + "', " + "'" + QString::number( date.year() ) + "-" + _strMonthMM + "-" + _strDayDD + "', " + "'" + action->getHoursHH() + ":" + action->getMinutesMM() + ":" + action->getSecondsSS() + "', " + _XDays + ", " + QString::number( action->getDays() ) + " );"; //qDebug( "query: %d", sqlite3_last_insert_rowid( m_db ) ); int _res = sqlite3_exec( m_db, _query.toStdString().c_str(), NULL, NULL, &_errMsg ); if( _res != SQLITE_OK ) { QMessageBox _msg( QMessageBox::Critical, "Error", "SQL error: " + QString( _errMsg ), QMessageBox::Ok ); _msg.exec(); sqlite3_free( _errMsg ); } int _lastId = sqlite3_last_insert_rowid( m_db ); // create string which will be put into database in form of "date|date|date|..." QString _excludedDates = ""; int _excludedDatesNumber = action->getExcludedDates().size(); for( int i = 0; i < _excludedDatesNumber; ++i ) { QDate _date = action->getExcludedDates().at( i ); QString _Year = QString::number( _date.year() ); QString _MonthMM = _date.month() < 10 ? "0" + QString::number( _date.month() ) : QString::number( _date.month() ); QString _DayDD = _date.day() < 10 ? "0" + QString::number( _date.day() ) : QString::number( _date.day() ); _excludedDates += _Year + "-" + _MonthMM + "-" + _DayDD; // prepare the query QString _queryED = QString( "INSERT INTO ExcludedDates VALUES( " ) + "NULL, " + QString::number( _lastId ) + ", " + "'" + _excludedDates + "' );"; //qDebug( "query: %s", _queryED.toStdString().c_str() ); int _res = sqlite3_exec( m_db, _queryED.toStdString().c_str(), NULL, NULL, &_errMsg ); if( _res != SQLITE_OK ) { QMessageBox _msg( QMessageBox::Critical, "Error", "SQL error: " + QString( _errMsg ), QMessageBox::Ok ); _msg.exec(); sqlite3_free( _errMsg ); } } }
void g() { #ifdef TEST_MULTI_UNIT assert(1 < 2); assert(1 > 2 && _msg("1 is bigger than 2 isn't it? (unitB)")); #endif }
void Log::add(ssh_wcs msg) { if(_log) { String _msg(apply_template(L"", L"", 0, 0, msg, _log->trace_template)); switch(_log->_out) { case TypeOutput::Net: if(sock.is_closed()) { sock.init(_log->host_name, 0, _log->host_flags, _log->host_cert, _log->host_pwd_cert); sendSocket(_log->string_begin); } sendSocket(_msg); break; case TypeOutput::File: if(!file.is_close()) file.write(_msg, L"utf-8"); break; case TypeOutput::Mail: if(!_log->email_blocked) { if(!file.is_close()) file.write(_msg, cp_utf); _log->email_count_msgs++; if(_log->email_count_msgs >= _log->email_max_msgs) send_email(_log->string_continue); } break; case TypeOutput::Debug: OutputDebugStringW(_msg); break; } } }
std::string SocketSystem::GetLastMsg(bool WantSocketMsg) { // ask system what type of error occurred DWORD errorCode; if(WantSocketMsg) errorCode = WSAGetLastError(); else errorCode = GetLastError(); if(errorCode == 0) return "no error"; // map errorCode into a system defined error string DWORD dwFlags = FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER; LPCVOID lpSource = NULL; DWORD dwMessageID = errorCode; DWORD dwLanguageId = MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US); LPSTR lpBuffer; DWORD nSize = 0; va_list *Arguments = NULL; FormatMessage( dwFlags,lpSource,dwMessageID,dwLanguageId, (LPTSTR)&lpBuffer,nSize,Arguments ); std::string _msg(lpBuffer); LocalFree(lpBuffer); return _msg; }
/* static void _error (const char *format, ...) { va_list v; va_start(v, format); _msg("ERROR", format, v); va_end(v); } */ static void _fatal (const char *format, ...) { va_list v; va_start(v, format); _msg("FATAL", format, v); va_end(v); sleep(3); exit(1); }
RedisError::RedisError(const char *format, ...) { va_list ap; va_start(ap, format); std::string _msg(RedisError_createMessage(format, ap)); va_end(ap); std::string* pmsg = const_cast<std::string*>(&msg); pmsg->append(msg); }
void Database::open() { int _fail = sqlite3_open( m_dbName.toStdString().c_str(), &m_db ); // if the function above failed, then _fail > 0 if( _fail ) { QMessageBox _msg( QMessageBox::Critical, "Error", "Couldn't open database: " + QString( sqlite3_errmsg( m_db ) ), QMessageBox::Ok ); _msg.exec(); return; } }
/*virtual*/ void KexiGUIMessageHandler::showErrorMessageInternal(KexiDB::Object *obj, const QString& msg) { QString _msg(msg); if (!obj) { showErrorMessageInternal(_msg); return; } QString details; KexiDB::getHTMLErrorMesage(obj, _msg, details); showErrorMessageInternal(_msg, details); }
void Database::clearSettings() { char* _errMsg = NULL; // truncate table (in sqlite there's no TRUNCATE keyword) int _res = sqlite3_exec( m_db, "DELETE FROM Settings;", NULL, NULL, &_errMsg ); if( _res != SQLITE_OK ) { QMessageBox _msg( QMessageBox::Critical, "Error", "SQL error: " + QString( _errMsg ), QMessageBox::Ok ); _msg.exec(); sqlite3_free( _errMsg ); } }
void KexiGUIMessageHandler::showErrorMessage(const QString &msg, const QString &details, KexiDB::Object *obj) { QString _msg(msg); if (!obj) { showErrorMessage(_msg, details); return; } QString _details(details); KexiDB::getHTMLErrorMesage(obj, _msg, _details); showErrorMessage(_msg, _details); }
int program_make(struct program *prog, struct shader **shader, int num) { int i; GLchar log[256] = "nil"; GLsizei len = 0; GLint res = GL_FALSE; if (!prog) { errno = EFAULT; return -1; } timeinit(); prog->id = glCreateProgram(); if (prog->id == 0) { glerr("glCreateProgram() failed"); return -1; } prog->shader = shader; prog->shader_num = num; for (i = 0; i < num; i++) { if (make_shader(shader[i]) < 0) { _err("shader %s failed\n", shader[i]->name); goto err; } glAttachShader(prog->id, shader[i]->id); } timestart(); glLinkProgram(prog->id); glGetProgramiv(prog->id, GL_LINK_STATUS, &res); if (res != GL_TRUE) { _err("failed to link program\n"); goto err; } timestop("program %d linked\n", prog->id); return prog->id; err: if (prog->id > 0) { glGetProgramInfoLog(prog->id, sizeof (log), &len, log); _msg("len: %d, log: %s\n", len, log); } program_clean(prog); return -1; }
void Database::prepareTableForSettings() { char* _errMsg = NULL; int _res = 0; _res = sqlite3_exec( m_db, "CREATE TABLE IF NOT EXISTS Settings ( id INTEGER PRIMARY KEY, \ key TEXT NOT NULL, \ value TEXT NOT NULL );", NULL, NULL, &_errMsg ); if( _res != SQLITE_OK ) { QMessageBox _msg( QMessageBox::Critical, "Error", "SQL error: " + QString( _errMsg ), QMessageBox::Ok ); _msg.exec(); sqlite3_free( _errMsg ); } clearSettings(); }
void Database::insertSetting( QString key, QString value ) { char* _errMsg = NULL; // prepare the query QString _query = QString( "INSERT INTO Settings VALUES( " ) + "NULL, " + "'" + key + "', " + "'" + value + "' );"; //qDebug( "query: %s", _query.toStdString().c_str() ); int _res = sqlite3_exec( m_db, _query.toStdString().c_str(), NULL, NULL, &_errMsg ); if( _res != SQLITE_OK ) { QMessageBox _msg( QMessageBox::Critical, "Error", "SQL error: " + QString( _errMsg ), QMessageBox::Ok ); _msg.exec(); sqlite3_free( _errMsg ); } }
static int make_shader(struct shader *shader) { GLint res = GL_FALSE; GLsizei len = 0; GLchar log[4096] = "nil";/* FIXME: some drivers return wrong values for * GL_INFO_LOG_LENGTH use a fixed size instead */ timeinit(); if (!shader) { errno = EFAULT; return -1; } timestart(); shader->id = glCreateShader(shader->type); if (shader->id == 0) { glerr("glCreateShader(%s) failed", shader->name); goto error; } glShaderSource(shader->id, 1, &shader->code, NULL); glCompileShader(shader->id); glGetShaderiv(shader->id, GL_COMPILE_STATUS, &res); if (res != GL_TRUE) { glerr("glCompileShader(%s) failed", shader->name); goto error; } timestop("compiled shader %s, id %d type 0x%04x\n", shader->name, shader->id, shader->type); return 0; error: if (shader->id > 0) { glGetShaderInfoLog(shader->id, sizeof(log), &len, log); _msg("len: %d, log: %s\n", len, log); glDeleteShader(shader->id); shader->id = 0; } return -1; }
/* Linux and AIX syslog format: Oct 4 17:10:37 hostname socat[52798]: D signal(13, 1) */ void msg(int level, const char *format, ...) { #if HAVE_GETTIMEOFDAY || 1 struct timeval now; int result; time_t nowt; #else /* !HAVE_GETTIMEOFDAY */ time_t now; #endif /* !HAVE_GETTIMEOFDAY */ #define BUFLEN 512 char buff[BUFLEN], *bufp, *syslp; size_t bytes; va_list ap; DIAG_INIT; if (level < diagopts.msglevel) return; va_start(ap, format); #if HAVE_GETTIMEOFDAY || 1 result = gettimeofday(&now, NULL); if (result < 0) { /* invoking msg() might create endless recursion; by hand instead */ sprintf(buff, "cannot read time: %s["F_pid".%lu] E %s", diagopts.progname, getpid(), (unsigned long)pthread_self(), strerror(errno)); _msg(LOG_ERR, buff, strstr(buff, " E "+1)); strcpy(buff, "unknown time "); bytes = 20; } else { nowt = now.tv_sec; #if HAVE_STRFTIME if (diagopts.micros) { bytes = strftime(buff, 20, "%Y/%m/%d %H:%M:%S", localtime(&nowt)); bytes += sprintf(buff+19, "."F_tv_usec" ", now.tv_usec); } else { bytes = strftime(buff, 21, "%Y/%m/%d %H:%M:%S ", localtime(&nowt)); } #else strcpy(buff, ctime(&nowt)); bytes = strlen(buff); #endif } #else /* !HAVE_GETTIMEOFDAY */ now = time(NULL); if (now == (time_t)-1) { /* invoking msg() might create endless recursion; by hand instead */ sprintf(buff, "cannot read time: %s["F_pid"] E %s", diagopts.progname, getpid(), strerror(errno)); _msg(LOG_ERR, buff, strstr(buff, " E "+1)); strcpy(buff, "unknown time "); bytes = 20; } else { #if HAVE_STRFTIME bytes = strftime(buff, 21, "%Y/%m/%d %H:%M:%S ", localtime(&now)); #else strcpy(buff, ctime(&now)); bytes = strlen(buff); #endif } #endif /* !HAVE_GETTIMEOFDAY */ bufp = buff + bytes; if (diagopts.withhostname) { bytes = sprintf(bufp, "%s ", diagopts.hostname), bufp+=bytes; } bytes = sprintf(bufp, "%s["F_pid".%lu] ", diagopts.progname, getpid(), (unsigned long)pthread_self()); bufp += bytes; syslp = bufp; *bufp++ = "DINWEF"[level]; *bufp++ = ' '; vsnprintf(bufp, BUFLEN-(bufp-buff)-1, format, ap); strcat(bufp, "\n"); _msg(level, buff, syslp); if (level >= diagopts.exitlevel) { va_end(ap); if (E_NOTICE >= diagopts.msglevel) { sprintf(syslp, "N exit(1)\n"); _msg(E_NOTICE, buff, syslp); } exit(diagopts.exitstatus ? diagopts.exitstatus : 1); } va_end(ap); }
// Differs from _bpdl because no named-sections and assumes all symbols // pre-exist in symbol-table // mword *inline_bpdl(bvm_cache *this_bvm, mword *sexpr){ // inline_bpdl# #if(defined BPDL_TRACE || defined INLINE_BPDL_TRACE) _trace; #endif if(is_nil(sexpr)){ return nil; } mword bpdl_list_type = get_bpdl_list_type(sexpr); switch(bpdl_list_type){ case BPDL_LIST_LIST: #if(defined BPDL_TRACE || defined INLINE_BPDL_TRACE) _msg("BPDL_LIST_LIST"); #endif return inline_bpdl_list_list(this_bvm, (mword*)icdr(sexpr)); case BPDL_CODE_LIST: #if(defined BPDL_TRACE || defined INLINE_BPDL_TRACE) _msg("BPDL_CODE_LIST"); #endif return inline_bpdl_code_list(this_bvm, (mword*)icdr(sexpr)); case BPDL_SHORT_VAL_LIST: #if(defined BPDL_TRACE || defined INLINE_BPDL_TRACE) _msg("BPDL_SHORT_VAL_LIST"); #endif return inline_bpdl_val_list(this_bvm, sexpr); case BPDL_VAL_LIST: #if(defined BPDL_TRACE || defined INLINE_BPDL_TRACE) _msg("BPDL_VAL_LIST"); #endif return inline_bpdl_val_list(this_bvm, (mword*)icdr(sexpr)); case BPDL_SHORT_PTR_LIST: #if(defined BPDL_TRACE || defined INLINE_BPDL_TRACE) _msg("BPDL_SHORT_PTR_LIST"); #endif return inline_bpdl_ptr_list(this_bvm, sexpr); case BPDL_PTR_LIST: #if(defined BPDL_TRACE || defined INLINE_BPDL_TRACE) _msg("BPDL_PTR_LIST"); #endif return inline_bpdl_ptr_list(this_bvm, (mword*)icdr(sexpr)); case BPDL_TAG_LIST: #if(defined BPDL_TRACE || defined INLINE_BPDL_TRACE) _msg("BPDL_TAG_LIST"); #endif return inline_bpdl_tag_list(this_bvm, (mword*)icdr(sexpr)); case BPDL_HASH_LIST: #if(defined BPDL_TRACE || defined INLINE_BPDL_TRACE) _msg("BPDL_HASH_LIST"); #endif return inline_bpdl_hash_list(this_bvm, (mword*)icdr(sexpr)); case BPDL_SYM_LIST: #if(defined BPDL_TRACE || defined INLINE_BPDL_TRACE) _msg("BPDL_SYM_LIST"); #endif //inline_bpdl_sym_list(this_bvm, (mword*)icdr(sexpr)); return nil; case BPDL_BS_LIST: #if(defined BPDL_TRACE || defined INLINE_BPDL_TRACE) _msg("BPDL_BS_LIST"); #endif return nil; // XXX UNIMPLEMENTED case BPDL_QW_LIST: #if(defined BPDL_TRACE || defined INLINE_BPDL_TRACE) _msg("BPDL_QW_LIST"); #endif return nil; // XXX UNIMPLEMENTED case BPDL_SEXPR_LIST: #if(defined BPDL_TRACE || defined INLINE_BPDL_TRACE) _msg("BPDL_SEXPR_LIST"); #endif return (mword*)icar((mword*)icdr(sexpr)); case BPDL_LABEL_LIST: #if(defined BPDL_TRACE || defined INLINE_BPDL_TRACE) _msg("BPDL_LABEL_LIST"); #endif // XXX macros go here ... XXX // return bpdl_lookup_label(this_bvm, (mword*)icar(sexpr)); return inline_bpdl_label_list(this_bvm, sexpr); default: // BPDL_UNKNOWN_LIST _msg("Unrecognized list type"); _dump(sexpr); _die; } return nil; }
static void _warn (const char *format, ...) { va_list v; va_start(v, format); _msg("WARNING", format, v); va_end(v); }
void msg2( #if HAVE_CLOCK_GETTIME struct timespec *now, #elif HAVE_GETTIMEOFDAY struct timeval *now, #else time_t *now, #endif int level, /* E_INFO... */ int exitcode, /* on exit use this exit code */ int handler, /* message comes from signal handler */ const char *text) { time_t epoch; unsigned long micros; #if HAVE_STRFTIME struct tm struct_tm; #endif #define BUFLEN 512 char buff[BUFLEN], *bufp, *syslp; size_t bytes; #if HAVE_CLOCK_GETTIME epoch = now->tv_sec; #elif HAVE_GETTIMEOFDAY epoch = now->tv_sec; #else epoch = *now; #endif #if HAVE_STRFTIME bytes = strftime(buff, 20, "%Y/%m/%d %H:%M:%S", localtime_r(&epoch, &struct_tm)); buff[bytes] = '\0'; #else bytes = snprintf(buff, 11, F_time, epoch); #endif if (diagopts.micros) { #if HAVE_CLOCK_GETTIME micros = now->tv_nsec/1000; #elif HAVE_GETTIMEOFDAY micros = now->tv_usec; #else micros = 0; #endif bytes += sprintf(buff+19, ".%06lu ", micros); } else { buff[19] = ' '; buff[20] = '\0'; } bytes = strlen(buff); bufp = buff + bytes; if (diagopts.withhostname) { bytes = sprintf(bufp, "%s ", diagopts.hostname), bufp+=bytes; } bytes = sprintf(bufp, "%s["F_pid"] ", diagopts.progname, getpid()); bufp += bytes; syslp = bufp; *bufp++ = "DINWEF"[level]; #if 0 /* only for debugging socat */ if (handler) bufp[-1] = tolower(bufp[-1]); /* for debugging, low chars indicate messages from signal handlers */ #endif *bufp++ = ' '; strncpy(bufp, text, BUFLEN-(bufp-buff)-1); strcat(bufp, "\n"); _msg(level, buff, syslp); if (level >= diagopts.exitlevel) { if (E_NOTICE >= diagopts.msglevel) { snprintf_r(syslp, 16, "N exit(%d)\n", exitcode?exitcode:(diagopts.exitstatus?diagopts.exitstatus:1)); _msg(E_NOTICE, buff, syslp); } exit(exitcode?exitcode:(diagopts.exitstatus?diagopts.exitstatus:1)); } }
int main(int argc, char **argv) { struct engine *engine = NULL; Display *dpy; int num; XSetWindowAttributes attr; unsigned long mask; Window root; Window win; XVisualInfo *info = NULL; GLXContext ctx = NULL; int conf[] = { GLX_RGBA, GLX_RED_SIZE, 1, GLX_GREEN_SIZE, 1, GLX_BLUE_SIZE, 1, GLX_DOUBLEBUFFER, GL_FALSE, GLX_DEPTH_SIZE, 1, None, }; dpy = XOpenDisplay(NULL); if (!dpy) { _err("failed to open X display\n"); return 1; } num = DefaultScreen(dpy); _inf("use GLX_SGIX_pbuffer on screen %d\n", num); root = RootWindow(dpy, num); info = glXChooseVisual(dpy, num, conf); if (!info) { _err("glXChooseVisual() failed\n"); goto out; } /* window attributes */ attr.border_pixel = 0; attr.colormap = XCreateColormap(dpy, root, info->visual, AllocNone); attr.event_mask = ButtonPressMask | ExposureMask | KeyPressMask; mask = CWBorderPixel | CWColormap | CWEventMask; win = XCreateWindow(dpy, root, 0, 0, DISPLAY_WIDTH, DISPLAY_HEIGHT, 0, info->depth, InputOutput, info->visual, mask, &attr); ctx = glXCreateContext(dpy, info, NULL, GL_TRUE); if (!ctx) { _err("glXCreateContext() failed\n"); goto out; } XFree(info); info = NULL; XMapWindow(dpy, win); _msg("call glXMakeCurrent()\n"); glXMakeCurrent(dpy, win, ctx); _inf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER)); _inf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION)); _inf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR)); _inf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS)); _inf("GL_SHADING_LANGUAGE_VERSION = %s\n", (char *) glGetString(GL_SHADING_LANGUAGE_VERSION)); _msg("clear window\n"); glClearColor(0, 0, 0, 1); glClear(GL_COLOR_BUFFER_BIT); glXSwapBuffers(dpy, win); _msg("init engine\n"); if (engine_init(&engine, argc, argv) < 0) { _err("engine_init() failed\n"); goto out; } _msg("start engine\n"); engine_start(engine); glXSwapBuffers(dpy, win); engine_stop(engine); event_loop(dpy); _msg("exit engine\n"); engine_exit(&engine); out: glXMakeCurrent(dpy, 0, 0); if (info) XFree(info); if (ctx) glXDestroyContext(dpy, ctx); XDestroyWindow(dpy, win); XCloseDisplay(dpy); return 0; }