Richard Levitte - VMS Whacker wrote:
> In message <[EMAIL PROTECTED]> on Tue, 6 Sep
> 2005 14:27:23 -0700, Nathaniel Smith <[EMAIL PROTECTED]> said:
> 
> njs> It's definitely not an intentional feature of 'cat'.  However, 
> njs> it's possible that it's some unavaoidable win32 bogosity, like 
> njs> stdout being provided as a text-mode descriptor that is njs>
> inherently lossy or something...
> 
> As most other operating systems that have a line endine sequence
> other than NL, I think Windows C library *correctly* does NL->CRNL 
> conversion on stdout unless you somehow explicitely tell it that the 
> output should remain unconverted.
> 
> njs> if that's the case (and I'm just guessing) then we might not be 
> njs> able to fix it.  Can any of the win32-clued people out there
> shed njs> any more light on this?  If it's not inherently unfixable, 
> njs> though, we should fix it.
> 
> One way to fix it is to have a --output parameter, to have an
> explicit output file that monotone can treat the way it sees fit.
> This might ctually be the cleanest way to do it, considering other
> operating systems may have yet other tweaks to get this right.
> 
> Cheers, Richard

Googled and found something about setmode(fd,mode) on
http://www.cs.toronto.edu/~cosmin/TA/prog/sysconf/ (worth reading):

  Handling binary files via standard I/O

  In a portable C program, text files are opened using one of the modes
  "r", "w", "a", etc., as in the example:

  FILE *ftext = fopen(fname, "r");

  On the other hand, binary files are opened using one of the modes
  "rb", "wb", "ab", etc.

  FILE *fbin = fopen(fname, "rb");

  On non-Unix systems, like DOS, OS/2 and Windows, text files are
  treated differently than binary files, and the use of the 'b' code
  letter is essential. Unfortunately, Standard C provides no way to
  change the mode on standard I/O (stdin, stdout, stderr). This is
  necessary when handling binary files in a pipeline; e.g.

  echo Hello | gzip -c > hello.gz
  [...]

HTH.

- tom







_______________________________________________
Monotone-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/monotone-devel

Reply via email to