diff mbox series

[RISU,3/9] Hoist trace file opening

Message ID 20200513180953.20376-4-richard.henderson@linaro.org
State Superseded
Headers show
Series risu cleanups and improvements | expand

Commit Message

Richard Henderson May 13, 2020, 6:09 p.m. UTC
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

---
 risu.c | 37 +++++++++++++++++--------------------
 1 file changed, 17 insertions(+), 20 deletions(-)

-- 
2.20.1

Comments

Peter Maydell May 18, 2020, 3:52 p.m. UTC | #1
On Wed, 13 May 2020 at 19:09, Richard Henderson
<richard.henderson@linaro.org> wrote:
>

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

> ---

>  risu.c | 37 +++++++++++++++++--------------------

>  1 file changed, 17 insertions(+), 20 deletions(-)

>

> diff --git a/risu.c b/risu.c

> index 059348f..1c66885 100644

> --- a/risu.c

> +++ b/risu.c

> @@ -363,6 +363,21 @@ int main(int argc, char **argv)

>          }

>      }

>

> +    if (trace) {

> +        if (strcmp(trace_fn, "-") == 0) {

> +            comm_fd = ismaster ? STDOUT_FILENO : STDIN_FILENO;

> +        } else {

> +            if (ismaster) {

> +                comm_fd = open(trace_fn, O_WRONLY | O_CREAT, S_IRWXU);

> +            } else {

> +                comm_fd = open(trace_fn, O_RDONLY);

> +            }

> +#ifdef HAVE_ZLIB

> +            gz_trace_file = gzdopen(comm_fd, ismaster ? "wb9" : "rb");

> +#endif

> +        }

> +    }


Looking at later patches in the series I see the rationale.
We should really be error-checking the opens here, but that's
a preexisting bug.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>


thanks
-- PMM
diff mbox series

Patch

diff --git a/risu.c b/risu.c
index 059348f..1c66885 100644
--- a/risu.c
+++ b/risu.c
@@ -363,6 +363,21 @@  int main(int argc, char **argv)
         }
     }
 
+    if (trace) {
+        if (strcmp(trace_fn, "-") == 0) {
+            comm_fd = ismaster ? STDOUT_FILENO : STDIN_FILENO;
+        } else {
+            if (ismaster) {
+                comm_fd = open(trace_fn, O_WRONLY | O_CREAT, S_IRWXU);
+            } else {
+                comm_fd = open(trace_fn, O_RDONLY);
+            }
+#ifdef HAVE_ZLIB
+            gz_trace_file = gzdopen(comm_fd, ismaster ? "wb9" : "rb");
+#endif
+        }
+    }
+
     imgfile = argv[optind];
     if (!imgfile) {
         fprintf(stderr, "Error: must specify image file name\n\n");
@@ -373,31 +388,13 @@  int main(int argc, char **argv)
     load_image(imgfile);
 
     if (ismaster) {
-        if (trace) {
-            if (strcmp(trace_fn, "-") == 0) {
-                comm_fd = STDOUT_FILENO;
-            } else {
-                comm_fd = open(trace_fn, O_WRONLY | O_CREAT, S_IRWXU);
-#ifdef HAVE_ZLIB
-                gz_trace_file = gzdopen(comm_fd, "wb9");
-#endif
-            }
-        } else {
+        if (!trace) {
             fprintf(stderr, "master port %d\n", port);
             comm_fd = master_connect(port);
         }
         return master();
     } else {
-        if (trace) {
-            if (strcmp(trace_fn, "-") == 0) {
-                comm_fd = STDIN_FILENO;
-            } else {
-                comm_fd = open(trace_fn, O_RDONLY);
-#ifdef HAVE_ZLIB
-                gz_trace_file = gzdopen(comm_fd, "rb");
-#endif
-            }
-        } else {
+        if (!trace) {
             fprintf(stderr, "apprentice host %s port %d\n", hostname, port);
             comm_fd = apprentice_connect(hostname, port);
         }