This is the mail archive of the cygwin@sources.redhat.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Bug In Mount? (Bug in read()?)


Josh Schulte wrote:

> Correct me if I am wrong. \r\n are at the end of every line in a dos
> text file. mounting stuff in binmode causes calls to the system call
> read() to return the line as if there was only a \n at the end. mounting
> stuff in textmode causes calls to the system call read() to return the
> line as if there was only a \n at the end.

If a file has DOS (\r\n) line endings and the fd is in binary mode the data
will end with \r when read.  If the fd is in text mode the data will not
end with \r, the \r will have been removed and the count of characters read
will be decremented by one.

>
> I am getting \r\n regardless of what mode I have the directories mounted
> as when I read from perl, as demonstrated by the script below. I have
> recreated the problem on two computers now. Can anyone else recreate
> this problem? Is it a bug in cygwin?

It's not a bug in Cygwin.  I've already posted that I tried your example
with the expected results.  I suggest that the contents of your file
contains DOS style line endings and the fd for the read is in binary mode.

>
> There is only one perl on my system. (Earnie: The /usr/local/bin/perl is
> a link I create for backward compatability in some of my other scripts.)
> I did a search of the entire system just to double check. So that is not
> the problem.

Ok, this shouldn't be a problem then.


>
> Thanks for any help,
> Josh

Earnie.

>
> > PERL SCRIPT
> > -----------
> >
> > #!/usr/local/bin/perl
> >
> > @what = split(/\n/, `cat contents`);
> >
> > foreach $line (@what)
> > {
> >         print "***>$line<-\n";
> > }
> >
> > CONTENTS OF FILE
> > ----------------
> >
> > line one
> > line two
> > line three
> >
> MY RESULTS:
> -----------
> <-*>line one
> <-*>line two
> <-*>line three
>
> -----Original Message-----
> From: Earnie Boyd [mailto:earnie_boyd@yahoo.com]
> Sent: Thursday, January 25, 2001 2:13 PM
> To: Josh Schulte
> Cc: cygwin@cygwin.com
> Subject: Re: Bug In Mount?, Was [Odd/New Perl Behavior]
>
> Could be that you have \r\n in your contents file.  Could be that you've
> more than one version of perl installed.  Note, the current perl is
> located at /usr/bin/perl not /usr/local/bin/perl.
>
> Cheers,
> Earnie.
>
> --
> Want to unsubscribe from this list?
> Check out: http://cygwin.com/ml/#unsubscribe-simple


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]