perf tools: Get rid of die() calls in trace-data-read.c
[linux-3.10.git] / tools / perf / util / trace-event-read.c
index 877706b..644ad3b 100644 (file)
@@ -130,17 +130,23 @@ static char *read_string(void)
 
        for (;;) {
                r = read(input_fd, &c, 1);
-               if (r < 0)
-                       die("reading input file");
+               if (r < 0) {
+                       pr_debug("reading input file");
+                       goto out;
+               }
 
-               if (!r)
-                       die("no data");
+               if (!r) {
+                       pr_debug("no data");
+                       goto out;
+               }
 
                if (repipe) {
                        int retw = write(STDOUT_FILENO, &c, 1);
 
-                       if (retw <= 0 || retw != r)
-                               die("repiping input file string");
+                       if (retw <= 0 || retw != r) {
+                               pr_debug("repiping input file string");
+                               goto out;
+                       }
                }
 
                buf[size++] = c;
@@ -155,7 +161,7 @@ static char *read_string(void)
        str = malloc(size);
        if (str)
                memcpy(str, buf, size);
-
+out:
        return str;
 }
 
@@ -219,8 +225,10 @@ static int read_header_files(struct pevent *pevent)
        if (do_read(buf, 12) < 0)
                return -1;
 
-       if (memcmp(buf, "header_page", 12) != 0)
-               die("did not read header page");
+       if (memcmp(buf, "header_page", 12) != 0) {
+               pr_debug("did not read header page");
+               return -1;
+       }
 
        size = read8(pevent);
        skip(size);
@@ -234,8 +242,10 @@ static int read_header_files(struct pevent *pevent)
        if (do_read(buf, 13) < 0)
                return -1;
 
-       if (memcmp(buf, "header_event", 13) != 0)
-               die("did not read header event");
+       if (memcmp(buf, "header_event", 13) != 0) {
+               pr_debug("did not read header event");
+               return -1;
+       }
 
        size = read8(pevent);
        header_event = malloc(size);
@@ -353,13 +363,17 @@ ssize_t trace_report(int fd, struct pevent **ppevent, bool __repipe)
 
        if (do_read(buf, 3) < 0)
                return -1;
-       if (memcmp(buf, test, 3) != 0)
-               die("no trace data in the file");
+       if (memcmp(buf, test, 3) != 0) {
+               pr_debug("no trace data in the file");
+               return -1;
+       }
 
        if (do_read(buf, 7) < 0)
                return -1;
-       if (memcmp(buf, "tracing", 7) != 0)
-               die("not a trace file (missing 'tracing' tag)");
+       if (memcmp(buf, "tracing", 7) != 0) {
+               pr_debug("not a trace file (missing 'tracing' tag)");
+               return -1;
+       }
 
        version = read_string();
        if (version == NULL)