This is the mail archive of the cygwin 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]
Other format: [Raw text]

Re: zsh and line breaks


On Thu, 1 Apr 2004, Igor Pechtchanski wrote:

> On Thu, 1 Apr 2004, Peter A. Castro wrote:
> > On Thu, 1 Apr 2004, Oliver Kiddle wrote:
> >
> > > "Peter A. Castro" wrote:
> > > > > It is easy for us to add `#ifdef __CYGWIN__' around changes or #define
> > > > > O_TEXT to zero on other systems so if you do correct the problem,
> > > > > please send the changes back to us.
> > > >
> > > > There are about 43 open() calls which I've updated with the O_TEXT
> > > > option.  Having all those ifdef's seemed rather ugly (makes the code hard
> > > > to look at, expectially when they are within a few lines of each other)
> > > > so I took a more "elegent" approach, though you may want to revise it if
> > > > it doesn't meet your style requirements :)
> > >
> > > I can believe that adding ifdef's to all is ugly. That's what I meant
> > > by "#define O_TEXT to zero on other systems" - just one thought on a
> > > possible more "elegant" approach.
> >
> > I might as well describe what I've done so you can give it a thumbs up or
> > down.  In system.h I've added a #define in the #ifdef __CYGWIN__ section of:
> > #define ORO_TEXT | O_TEXT
> > And for the #else case:
> > #define ORO_TEXT
> >
> > Then in code which needs it I have modified it to look like this:
> >
> > if ((fd = open(name, O_RDONLY ORO_TEXT)) < 0) {
>
> Oliver's way is more readable, IMO.  Remember, a|0 == a.  If it makes you
> uncomfortable to override O_TEXT, just make up another name (e.g.,
> O_TEXT_CYGWIN), and #define it to be O_TEXT on Cygwin and 0 everywhere
> else.

Ya, I will concede that it's more readable.  I'll probably end up
changing it to the more explicit form.

> > It's really just utilizing the macro ability of the compiler, and it's a
> > style judgement call.  I don't have a problem with it, obviously, but
> > others might look at it and wonder how it could possible compile if they
> > didn't look in system.h first.  If you think that might present
> > confusion, then I'll change it to be explicitly "| OR_TEXT" and have
> > #define O_TEXT to be 0 if not defined at all.
> >
> > Any thoughts on this?
>
> I thought that that was what linking with automode.o did...

Hmmm... I'm not sure it'll help.  Doesn't automode open for read in text
mode but open for write in binmode always (correct me if I'm wrong)?  If
so, that's not really what I'm looking for.  Really, I want the
attributes of the filesystem to be taken into considderation in that
reads will strip out CRs always but writes will generate CR/LFs as
needed.  I'll experiment with it, though, just to make sure.

> 	Igor

-- 
Peter A. Castro <doctor@fruitbat.org> or <Peter.Castro@oracle.com>
	"Cats are just autistic Dogs" -- Dr. Tony Attwood

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


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