]> git.cworth.org Git - apitrace/commitdiff
More os::Path fixes.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Mon, 31 Oct 2011 13:58:32 +0000 (13:58 +0000)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Mon, 31 Oct 2011 13:58:32 +0000 (13:58 +0000)
common/os_path.hpp
common/trace_writer_local.cpp

index 23b87d1b0ce58f30c7f61fc6bbe71823d19f8829..353a63ab39af56629f4b8447bfcadbc3da38e037 100644 (file)
@@ -72,6 +72,8 @@ protected:
 
     Buffer::iterator rfind(char c) {
         Buffer::iterator it = buffer.end();
+        assert(it != buffer.begin());
+        --it; // skill null
         while (it != buffer.begin()) {
             --it;
             if (*it == c) {
@@ -120,7 +122,7 @@ public:
     void trimExtension(void) {
         Buffer::iterator dot = rfind('.');
         if (dot != buffer.end()) {
-            buffer.erase(dot, buffer.end());
+            buffer.erase(dot, buffer.end() - 1);
         }
     }
 
index 350a130bafc95d1fac8bd689c60d0078bccec7c7..2b1ef4304a8bdde0cbdfdc59eef0dd8926c5b377 100644 (file)
@@ -99,6 +99,7 @@ LocalWriter::open(void) {
             else
                 szFileName = os::Path::format("%s.trace", prefix.str());
 
+            lpFileName = szFileName;
             file = fopen(lpFileName, "rb");
             if (file == NULL)
                 break;
@@ -107,8 +108,6 @@ LocalWriter::open(void) {
 
             ++dwCounter;
         }
-        
-        lpFileName = szFileName;
     }
 
     os::log("apitrace: tracing to %s\n", lpFileName);