www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2001/06/06/03:21:20

From: Martin Stromberg <Martin DOT Stromberg AT epl DOT ericsson DOT se>
Message-Id: <200106060720.JAA10029@lws256.lu.erisoft.se>
Subject: Re: scratch _IOAPPEND
To: djgpp-workers AT delorie DOT com
Date: Wed, 6 Jun 2001 09:20:32 +0200 (MET DST)
In-Reply-To: <3B1CE5F4.8282.A748BA@localhost> from "Mark E." at Jun 05, 2001 02:00:20 PM
X-Mailer: ELM [version 2.5 PL3]
MIME-Version: 1.0
Reply-To: djgpp-workers AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

> 
> Here's my patch to eliminate _IOAPPEND. I also took Martin's suggestion from 
> a while back and added/used __get_fd_flags.

Great!

> !   if (__has_fd_properties(fileno(f))
> !       && (__get_fd_flags(fileno(f)) & FILE_DESC_APPEND))
>     {

...

> + static __inline__ unsigned long __get_fd_flags(int _fd)
> + {
> +   return __fd_properties[_fd]->flags;
> + }

I was thinking of having __get_fd_flags( fd ) do "if (__has_fd_properties( fd ))
{
	return ( __get_fd_flags( fd ));
}
else
{
	return( 0 );
}"

Then for testing a flag we could just do "__get_fd_flags( ffileno( f )
) & SOME_FLAG" instead of "if (__has_fd_properties(fileno(f))
 && (__get_fd_flags(fileno(f)) & SOME_FLAG))". Because if there aren't
any fd_properties no flags can be set!

What do you think?


Right,

						MartinS

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019