void piper(void *v) { Job *j; char buf[512]; VtLog *l; int n; int fd; char *p; int ok; j = v; fd = j->pipe; l = j->newlog; while((n = read(fd, buf, 512-1)) > 0) { buf[n] = 0; if(l != nil) vtlogprint(l, "%s", buf); } qlock(&loglk); p = logtext(l); ok = j->ok(p); qunlock(&loglk); j->newok = ok; close(fd); }
const wxString wxExTool::Info(const wxExStatistics<int>* stat) const { wxString logtext(Info()); if (logtext.Contains("%d")) { logtext = logtext.Format(logtext, stat->Get(_("Actions Completed"))); } logtext << " " << stat->Get(_("Files")) << " " << _("file(s)"); return logtext; }