Fail when trace file in command line can't be openend.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Sat, 4 Jun 2011 21:55:42 +0000 (22:55 +0100)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Sat, 4 Jun 2011 21:55:42 +0000 (22:55 +0100)
glretrace_main.cpp
tracedump.cpp

index 5d45356..beaac82 100644 (file)
@@ -157,6 +157,7 @@ void frame_complete(unsigned call_no) {
 
 
 static void display(void) {
+    startTime = OS::GetTime();
     Trace::Call *call;
 
     while ((call = parser.parse_call())) {
@@ -294,11 +295,14 @@ int main(int argc, char **argv)
     visual = ws->createVisual(double_buffer);
 
     for ( ; i < argc; ++i) {
-        if (parser.open(argv[i])) {
-            startTime = OS::GetTime();
-            display();
-            parser.close();
+        if (!parser.open(argv[i])) {
+            std::cerr << "error: failed to open " << argv[i] << "\n";
+            return 1;
         }
+
+        display();
+
+        parser.close();
     }
 
     return 0;
index 22f62e3..1548880 100644 (file)
@@ -36,14 +36,16 @@ int main(int argc, char **argv)
 {
     for (int i = 1; i < argc; ++i) {
         Trace::Parser p;
-        if (p.open(argv[i])) {
-            Trace::Call *call;
-            call = p.parse_call();
-            while (call) {
-                std::cout << *call;
-                delete call;
-                call = p.parse_call();
-            }
+
+        if (!p.open(argv[i])) {
+            std::cerr << "error: failed to open " << argv[i] << "\n";
+            return 1;
+        }
+
+        Trace::Call *call;
+        while ((call = p.parse_call())) {
+            std::cout << *call;
+            delete call;
         }
     }
     return 0;