void HTMLFileLogger::Open(const wxString& filename) { FileLogger::Open(filename); fputs("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en-US\" lang=\"en-US\">\n<head>\n<title>Build log</title>\n<style>\n", f.fp()); if (!!css.asterisk) fprintf(f.fp(), "* { %s }\n", (wxStringSucks) wxSafeConvertWX2MB(css.asterisk)); if (!!css.pagetitle) fprintf(f.fp(), "h1 { %s }\n", (wxStringSucks) wxSafeConvertWX2MB(css.pagetitle)); if (!!css.caption) fprintf(f.fp(), "h2 { %s }\n", (wxStringSucks) wxSafeConvertWX2MB(css.caption)); if (!!css.info) fprintf(f.fp(), ".info { %s }\n", (wxStringSucks) wxSafeConvertWX2MB(css.info)); if (!!css.warning) fprintf(f.fp(), ".warn { %s }\n", (wxStringSucks) wxSafeConvertWX2MB(css.warning)); if (!!css.error) fprintf(f.fp(), ".error { %s }\n", (wxStringSucks) wxSafeConvertWX2MB(css.error)); if (!!css.success) fprintf(f.fp(), ".success { %s }\n", (wxStringSucks) wxSafeConvertWX2MB(css.success)); if (!!css.failure) fprintf(f.fp(), ".failure { %s }\n", (wxStringSucks) wxSafeConvertWX2MB(css.failure)); if (!!css.critical) fprintf(f.fp(), ".critical { %s }\n", (wxStringSucks) wxSafeConvertWX2MB(css.critical)); fputs("</style>\n</head>\n\n<body>", f.fp()); }
bool wxGetFullHostName(wxChar *buf, int sz) { bool ok = wxGetHostNameInternal(buf, sz); if ( ok ) { if ( !wxStrchr(buf, wxT('.')) ) { struct hostent *host = gethostbyname(wxSafeConvertWX2MB(buf)); if ( !host ) { wxLogSysError(_("Cannot get the official hostname")); ok = false; } else { // the canonical name wxStrlcpy(buf, wxSafeConvertMB2WX(host->h_name), sz); } } //else: it's already a FQDN (BSD behaves this way) } return ok; }
wxString wxGetUserHome( const wxString &user ) { struct passwd *who = (struct passwd *) NULL; if ( !user ) { wxChar *ptr; if ((ptr = wxGetenv(wxT("HOME"))) != NULL) { return ptr; } if ((ptr = wxGetenv(wxT("USER"))) != NULL || (ptr = wxGetenv(wxT("LOGNAME"))) != NULL) { who = getpwnam(wxSafeConvertWX2MB(ptr)); } // make sure the user exists! if ( !who ) { who = getpwuid(getuid()); } } else { who = getpwnam (user.mb_str()); } return wxSafeConvertMB2WX(who ? who->pw_dir : 0); }
void TextCtrlLogger::Append(const wxString& msg, Logger::level lv) { if (!control) { // Do the same as the stdout logger, to prevent loss of messages during start up! fputs(wxSafeConvertWX2MB(msg.wc_str()), lv < error ? stdout : stderr); fputs(::newline_string.mb_str(), lv < error ? stdout : stderr); return; } ::temp_string.assign(msg); ::temp_string.append(_T("\n")); if (lv == caption) { control->SetDefaultStyle(style[info]); control->AppendText(::newline_string); control->SetDefaultStyle(style[lv]); control->AppendText(::temp_string); control->SetDefaultStyle(style[spacer]); control->AppendText(::newline_string); } else { control->SetDefaultStyle(style[lv]); control->AppendText(::temp_string); } }
void wxLogStream::DoLogString(const wxChar *szString, time_t WXUNUSED(t)) { wxString str; TimeStamp(&str); (*m_ostr) << wxSafeConvertWX2MB(str) << wxSafeConvertWX2MB(szString) << wxSTD endl; }
void HTMLFileLogger::Append(const wxString& msg, /* cb_unused */ Logger::level lv) { fputs(wxSafeConvertWX2MB(msg), f.fp()); fputs(::newline_string.mb_str(), f.fp()); }