Revision: 76483
          http://sourceforge.net/p/brlcad/code/76483
Author:   brlcad
Date:     2020-07-25 05:11:00 +0000 (Sat, 25 Jul 2020)
Log Message:
-----------
fix file mode on bw-fb, fb-bw, fb-pix, fb-png, gif-fb, gif2fb, pix-fb, 
plot3-fb, and png-fb for windows when reading/writing from redirected 
input/output respecitvely

Modified Paths:
--------------
    brlcad/trunk/src/fb/bw-fb.c
    brlcad/trunk/src/fb/fb-bw.c
    brlcad/trunk/src/fb/fb-pix.c
    brlcad/trunk/src/fb/fb-png.c
    brlcad/trunk/src/fb/gif-fb.c
    brlcad/trunk/src/fb/gif2fb.c
    brlcad/trunk/src/fb/pix-fb.c
    brlcad/trunk/src/fb/plot3-fb.c
    brlcad/trunk/src/fb/png-fb.c

Modified: brlcad/trunk/src/fb/bw-fb.c
===================================================================
--- brlcad/trunk/src/fb/bw-fb.c 2020-07-25 04:55:34 UTC (rev 76482)
+++ brlcad/trunk/src/fb/bw-fb.c 2020-07-25 05:11:00 UTC (rev 76483)
@@ -158,7 +158,7 @@
        if (isatty(fileno(stdin)))
            return 0;
        file_name = "-";
-       infd = 0;
+       infd = fileno(stdin);
        setmode(fileno(stdin), O_BINARY);
     } else {
        char *ifname;

Modified: brlcad/trunk/src/fb/fb-bw.c
===================================================================
--- brlcad/trunk/src/fb/fb-bw.c 2020-07-25 04:55:34 UTC (rev 76482)
+++ brlcad/trunk/src/fb/fb-bw.c 2020-07-25 05:11:00 UTC (rev 76483)
@@ -94,6 +94,7 @@
            return 0;
        file_name = "-";
        outfp = stdout;
+       setmode(fileno(stdout), O_BINARY);
     } else {
        file_name = argv[bu_optind];
        if ((outfp = fopen(file_name, "wb")) == NULL) {

Modified: brlcad/trunk/src/fb/fb-pix.c
===================================================================
--- brlcad/trunk/src/fb/fb-pix.c        2020-07-25 04:55:34 UTC (rev 76482)
+++ brlcad/trunk/src/fb/fb-pix.c        2020-07-25 05:11:00 UTC (rev 76483)
@@ -90,6 +90,7 @@
            return 0;
        file_name = "-";
        outfp = stdout;
+       setmode(fileno(stdout), O_BINARY);
     } else {
        file_name = argv[bu_optind];
        if ((outfp = fopen(file_name, "wb")) == NULL) {

Modified: brlcad/trunk/src/fb/fb-png.c
===================================================================
--- brlcad/trunk/src/fb/fb-png.c        2020-07-25 04:55:34 UTC (rev 76482)
+++ brlcad/trunk/src/fb/fb-png.c        2020-07-25 05:11:00 UTC (rev 76483)
@@ -104,6 +104,7 @@
            return 0;
        file_name = "-";
        outfp = stdout;
+       setmode(fileno(stdout), O_BINARY);
     } else {
        file_name = argv[bu_optind];
        if ((outfp = fopen(file_name, "wb")) == NULL) {

Modified: brlcad/trunk/src/fb/gif-fb.c
===================================================================
--- brlcad/trunk/src/fb/gif-fb.c        2020-07-25 04:55:34 UTC (rev 76482)
+++ brlcad/trunk/src/fb/gif-fb.c        2020-07-25 05:11:00 UTC (rev 76483)
@@ -519,8 +519,10 @@
 
        if ((gfp = fopen(gif_file = argv[bu_optind], "rb")) == NULL)
            Fatal(fbp, "Couldn't open GIF file \"%s\"", gif_file);
-    } else
+    } else {
        gfp = stdin;
+       setmode(fileno(stdin), O_BINARY);
+    }
 
     /* Process GIF signature. */
 

Modified: brlcad/trunk/src/fb/gif2fb.c
===================================================================
--- brlcad/trunk/src/fb/gif2fb.c        2020-07-25 04:55:34 UTC (rev 76482)
+++ brlcad/trunk/src/fb/gif2fb.c        2020-07-25 05:11:00 UTC (rev 76483)
@@ -158,6 +158,7 @@
        }
        file_name = "-";
        fp = stdin;
+       setmode(fileno(stdin), O_BINARY);
     } else {
        file_name = argv[bu_optind];
        if ((fp = fopen(file_name, "rb")) == NULL) {

Modified: brlcad/trunk/src/fb/pix-fb.c
===================================================================
--- brlcad/trunk/src/fb/pix-fb.c        2020-07-25 04:55:34 UTC (rev 76482)
+++ brlcad/trunk/src/fb/pix-fb.c        2020-07-25 05:11:00 UTC (rev 76483)
@@ -160,12 +160,13 @@
        if (isatty(fileno(stdin)))
            return 0;
        file_name = "-";
-       infd = 0;
+       infd = fileno(stdin);
+       setmode(fileno(stdin), O_BINARY);
     } else {
        char *ifname;
        file_name = argv[bu_optind];
        ifname = bu_file_realpath(file_name, NULL);
-       if ((infd = open(ifname, 0)) < 0) {
+       if ((infd = open(ifname, O_RDONLY|O_BINARY)) < 0) {
            perror(ifname);
            fprintf(stderr,
                    "pix-fb: cannot open \"%s(canonical %s)\" for reading\n",
@@ -174,7 +175,6 @@
            bu_exit(1, NULL);
        }
        bu_free(ifname, "ifname alloc from bu_file_realpath");
-       setmode(infd, O_BINARY);
        fileinput++;
     }
 

Modified: brlcad/trunk/src/fb/plot3-fb.c
===================================================================
--- brlcad/trunk/src/fb/plot3-fb.c      2020-07-25 04:55:34 UTC (rev 76482)
+++ brlcad/trunk/src/fb/plot3-fb.c      2020-07-25 05:11:00 UTC (rev 76483)
@@ -586,6 +586,7 @@
            return 0;
        filename = "-";
        pfin = stdin;
+       setmode(fileno(stdin), O_BINARY);
     } else {
        /* open file */
        filename = argv[bu_optind];

Modified: brlcad/trunk/src/fb/png-fb.c
===================================================================
--- brlcad/trunk/src/fb/png-fb.c        2020-07-25 04:55:34 UTC (rev 76482)
+++ brlcad/trunk/src/fb/png-fb.c        2020-07-25 05:11:00 UTC (rev 76483)
@@ -142,6 +142,7 @@
            return 0;
        file_name = "-";
        fp_in = stdin;
+       setmode(fileno(stdin), O_BINARY);
     } else {
        file_name = argv[bu_optind];
        if ((fp_in = fopen(file_name, "rb")) == NULL) {

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to