]> cygwin.com Git - cygwin-apps/setup.git/commitdiff
2002-05-12 Robert Collins <rbtcollins@hotmail.com>
authorRobert Collins <rbtcollins@hotmail.com>
Sun, 12 May 2002 11:16:24 +0000 (11:16 +0000)
committerRobert Collins <rbtcollins@hotmail.com>
Sun, 12 May 2002 11:16:24 +0000 (11:16 +0000)
        * LogFile.cc (endLog): Work around an apparent libg++-3 bug causing
        corrupt log file entries.
        * geturl.cc: Convert to the new LogSingleton logging.

ChangeLog
LogFile.cc
geturl.cc

index d8e85c0c2011937bde9b1e3a86fabce696cc4aad..554c93fd7cadeb5fd16f8b200a351714babdbb9c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2002-05-12  Robert Collins  <rbtcollins@hotmail.com>
+
+       * LogFile.cc (endLog): Work around an apparent libg++-3 bug causing
+       corrupt log file entries.
+       * geturl.cc: Convert to the new LogSingleton logging.
+
 2002-05-12  Robert Collins  <rbtcollins@hotmail.com>
 
        * ini.cc (do_remote_ini): Use setup.bz2 if it exists in preference to
index be027857c8b9582bc14eb8a668602bfa1c5e1b4e..38d1a04d67bf33a399257bf66ea5b4ec0d6d772c 100644 (file)
@@ -29,6 +29,7 @@ static const char *cvsid =
 #include <iostream>
 #include <strstream>
 #include <time.h>
+#include <string>
 
 /* private helper class */
 class filedef
@@ -184,11 +185,15 @@ LogFile::endEntry()
       strftime (b, 1000, "%Y/%m/%d %H:%M:%S ", tm);
       currEnt->msg = b;
     }
-  currEnt->msg += theStream->str();
-  msg ("LOG: %d %s", currEnt->level, theStream->str());
+  /* What follows is a hack to get around an (apparent) bug in libg++-3 with
+   * non-0 memory on alloc
+   */
+  currEnt->msg += string(theStream->str()).substr(0,theStream->pcount()).c_str();
+  msg ("LOG: %d %s", currEnt->level, string(theStream->str()).substr(0,theStream->rdbuf()->pcount()).c_str());
   theStream->freeze(0);
   delete theStream;
   /* reset for next use */
   theStream = new ostrstream;
   rdbuf (theStream->rdbuf());
+  init (theStream->rdbuf());
 }
index 1564e6d833559baa17aedb2e35a48b94d97c41fc..8371cf9e8014ca8a6cef164a973b58209bfdd259 100644 (file)
--- a/geturl.cc
+++ b/geturl.cc
@@ -36,7 +36,6 @@ static const char *cvsid =
 #include "resource.h"
 #include "netio.h"
 #include "msg.h"
-#include "log.h"
 #include "io_stream.h"
 #include "io_stream_memory.h"
 #include "state.h"
@@ -49,6 +48,8 @@ static const char *cvsid =
 
 #include "Exception.h"
 
+#include "LogSingleton.h"
+
 extern ThreeBarProgressPage Progress;
 
 static int max_bytes = 0;
@@ -116,14 +117,14 @@ progress (int bytes)
 void
 getUrlToStream (String const &_url, HWND owner, io_stream *output)
 {
-  log (LOG_BABBLE, String ("getUrlToStream ") + _url);
+  log (LOG_BABBLE) << "getUrlToStream " << _url << endLog;
   is_local_install = (source == IDC_SOURCE_CWD);
   init_dialog (_url, 0, owner);
   NetIO *n = NetIO::open (_url.cstr_oneuse());
   if (!n || !n->ok ())
     {
       delete n;
-      log (LOG_BABBLE, "getUrlToStream failed!");
+      log (LOG_BABBLE) <<  "getUrlToStream failed!" << endLog;
       throw new Exception ("__LINE__ __FILE__", "Error opening url",  APPERR_IO_ERROR);
     }
 
@@ -160,14 +161,14 @@ get_url_to_membuf (String const &_url, HWND owner)
   io_stream_memory *membuf = new io_stream_memory ();
   try 
     {
-      log (LOG_BABBLE, String ("get_url_to_membuf ") + _url);
+      log (LOG_BABBLE) << "get_url_to_membuf " << _url << endLog;
       getUrlToStream (_url, owner, membuf);
       
       if (membuf->seek (0, IO_SEEK_SET))
        {
          if (membuf)
              delete membuf;
-         log (LOG_BABBLE, "get_url_to_membuf(): seek (0) failed for membuf!");
+         log (LOG_BABBLE) << "get_url_to_membuf(): seek (0) failed for membuf!" << endLog;
          return 0;
        }
       return membuf;
@@ -176,7 +177,7 @@ get_url_to_membuf (String const &_url, HWND owner)
     {
       if (e->errNo() != APPERR_IO_ERROR)
        throw e;
-      log (LOG_BABBLE, "get_url_to_membuf failed!");
+      log (LOG_BABBLE) << "get_url_to_membuf failed!" << endLog;
       delete membuf;
       return 0;
     }
@@ -194,7 +195,7 @@ get_url_to_string (String const &_url, HWND owner)
     {
       /* zero length, or error retrieving length */
       delete stream;
-      log (LOG_BABBLE, "get_url_to_string(): couldn't retrieve buffer size, or zero length buffer");
+      log (LOG_BABBLE) << "get_url_to_string(): couldn't retrieve buffer size, or zero length buffer" << endLog;
       return String();
     }
   char temp [bytes + 1];
@@ -209,7 +210,7 @@ int
 get_url_to_file (String const &_url, String const &_filename, int expected_length,
                 HWND owner, BOOL allow_ftp_auth)
 {
-  log (LOG_BABBLE, String ("get_url_to_file ") + _url + " " + _filename);
+  log (LOG_BABBLE) << "get_url_to_file " << _url << " " << _filename << endLog;
   if (total_download_bytes > 0)
     {
       int df = diskfull (get_root_dir ().cstr_oneuse());
@@ -223,7 +224,7 @@ get_url_to_file (String const &_url, String const &_filename, int expected_lengt
   if (!n || !n->ok ())
     {
       delete n;
-      log (LOG_BABBLE, "get_url_to_file failed!");
+      log (LOG_BABBLE) <<  "get_url_to_file failed!" << endLog;
       return 1;
     }
 
This page took 0.04197 seconds and 5 git commands to generate.