From e20b5e7c563ca79daf9b22a6348d8c9ceaff6a84 Mon Sep 17 00:00:00 2001 From: visor Date: Sat, 30 Apr 2011 23:29:31 +0900 Subject: [PATCH] kErrorLog feature. --- cgi/main.cc | 5 +++-- lib/app.cc | 10 ++++++++++ lib/app.h | 1 + ml/main.cc | 3 +++ 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/cgi/main.cc b/cgi/main.cc index 200efde..ac816ba 100644 --- a/cgi/main.cc +++ b/cgi/main.cc @@ -188,8 +188,9 @@ int main (int argc, char** argv) { ustring scriptfilename; #ifdef kErrorLog - close (2); - open (cDataTop kErrorLog, O_WRONLY | O_APPEND | O_CREAT, 0666); +// close (2); +// open (kErrorLog, O_WRONLY | O_APPEND | O_CREAT, 0666); + aenv.setErrorLog (ustring (CharConst (kErrorLog))); #endif #ifdef UTF8JP diff --git a/lib/app.cc b/lib/app.cc index 1f8e82b..9eb38a4 100644 --- a/lib/app.cc +++ b/lib/app.cc @@ -7,6 +7,7 @@ #include #include #include +#include static bool pcmp (char** a, const char* b, int n) { int rc = strncmp (*a, b, n); @@ -201,3 +202,12 @@ void AppEnv::dump (std::ostream& out) { out << " dump\n"; #endif } + +void AppEnv::setErrorLog (const ustring& path, bool fappend) { + int flag = O_WRONLY | O_CREAT; + + if (fappend) + flag |= O_APPEND; + close (2); + open (path.c_str (), flag, 0666); +} diff --git a/lib/app.h b/lib/app.h index 920d7df..49acde2 100644 --- a/lib/app.h +++ b/lib/app.h @@ -41,6 +41,7 @@ class AppEnv { virtual void setDefault (); virtual ustring scriptName (); virtual void dump (std::ostream& out); + virtual void setErrorLog (const ustring& path, bool fappend = false); }; #endif /* APP_H */ diff --git a/ml/main.cc b/ml/main.cc index 558eb71..31b345f 100644 --- a/ml/main.cc +++ b/ml/main.cc @@ -38,6 +38,9 @@ int main (int argc, char** argv) { #endif MotorEnv env (&aenv, form, &motor, out); +#ifdef kErrorLog + aenv.setErrorLog (ustring (CharConst (kErrorLog))); +#endif try { aenv.readOption (argc, argv, &env); -- 2.11.0