-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

I would like to ask you what is the desired behaviour of output
streams in this case:


star -f /dev/null -multivol -C / -cv /usr/share/doc 2>&1 | tee output.log


If you try this command, you can see that the verbose output is mixed
with the error output at the end of the run (see the end of the
output.log file from openSUSE 13.2 [1]).

I would like to ask you if there is any chance that it's intended to
separate these outputs?


Why I'm asking: There was a bug in star which had a side effect
causing these outputs to be ordered correctly. After star was patched
the outputs are mixed. We found out about the different star behaviour
thanks to regression tests that tested star before and after this patch.

About that bug:
There was a bug in star 1.5 where a missing 'return (FALSE)' [2] in
the samefile() function in star/star_unix.c caused that vpr variable
was wrongly set to stderr instead of stdout [3].

This means that before it was fixed both vpr and errors was going
together to stderr. And this probably ensured the "correct" order of
the outputs.
After it was fixed vpr is going to stdout while errors are going to
stderr. And the final outputs are mixed.


That can of course be completely alright. I just want to know if the
"nice" ordering of the two outputs is an intended feature or just
something accidental.

Best regards
Kristyna Streitova


[1] http://pastebin.com/3yHXYGXF


[2]
Index: star-1.5/star/star_unix.c
===================================================================
- --- star-1.5.orig/star/star_unix.c
+++ star-1.5/star/star_unix.c
@@ -548,6 +548,7 @@ samefile(fp1, fp2)
                return (FALSE);

        if (fstat(fdown(fp1), &stbuf1) < 0)
+               return (FALSE);

        if (fstat(fdown(fp2), &stbuf2) < 0)
                return (FALSE);



[3]
Index: star-1.5/star/buffer.c
===================================================================
vpr = tarf == stdout ? stderr : stdout;
if (samefile(tarf, vpr))                /* Catch -f /dev/stdout case */
    vpr = stderr;
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBAgAGBQJWNz2BAAoJEPox3pw+dmQGvw4QAKyjNxiG0hkTBxPXRu3WkdWR
Uu5Ij6y7h2/RamBbE4f0uBRZB4N2MquGc35Y9rVGOAhp/DIAOyqhlqIR3htSIwM3
psRfue9YZQX+PnFibu0RsrQoqKIXEVBarLyeEiB8L2uN6r2JG9cr/OWIEYbRVaxi
sXdKX0k1dA3+Hq+4o09BqpCx13/eEftkGWNbpoOo9+YAFwHDWPtBCv6nMPDnOBzz
7GO+1sJGrM2N2nq53GFVcT6sx3JrSRt0VDC7gvYdLkv2m3Fxip8VyCtOd4n5GeZ2
JrrEqWN4keD8sD3CvkQcQ0omgCIqduoKwH+5KZcaMpMjHxGjpOnw6yJOJ3YLHtyn
zkO6pQuyOs9fAi+z5HD5OcWxGlNJn/UyZc7naExXydQX20mXuRb6BFcHgI+Th6Sh
CD3pQFygD9ongjEcrYgk3j5egRMH9KCdKDbJjTFjeP8n29EWd3C2gHkJWjkF7jqS
hWAYmXLFus3sg2XLiuhmQppG/ns2NjTjIFRGUk96lg82L+a8xKXPkQvh1fuI/anI
vmnspkmE88dZfiPUfOifYbQ4bkYNWeH2M973Xq3WyNG3PHnU3S+QR5LvD2DLdyJN
ouszbkSfYvVQQfgouM85gZb7ODy7UjBgfjbFNzxn7juSzfoLOosa/pHJ7rzgXJ6s
CObKjXWlQRwSRN8jHnhq
=aX2Q
-----END PGP SIGNATURE-----

------------------------------------------------------------------------------
_______________________________________________
S-tar-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/s-tar-developers

Reply via email to