[RISU,v2,03/17] Hoist trace file opening

Message ID 20200519025355.4420-4-richard.henderson@linaro.org
State New
Headers show
Series
  • risu cleanups and improvements
Related show

Commit Message

Richard Henderson May 19, 2020, 2:53 a.m.
We will want to share this code with --dump.

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

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

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

-- 
2.20.1

Comments

Alex Bennée May 19, 2020, 4:50 p.m. | #1
Richard Henderson <richard.henderson@linaro.org> writes:

> We will want to share this code with --dump.

>

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

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


Reviewed-by: Alex Bennée <alex.bennee@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

> +        }

> +    }

> +

>      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);

>          }



-- 
Alex Bennée

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);
         }