[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [patch #6758] Add support for Atari FreeMiNT OS
From: |
Alan Hourihane |
Subject: |
Re: [patch #6758] Add support for Atari FreeMiNT OS |
Date: |
Sun, 01 Mar 2009 09:44:21 +0000 |
On Sun, 2009-03-01 at 02:40 +0100, Bruno Haible wrote:
> Alan Hourihane wrote:
> > Attached are the freading.c and fwriting.c patches to make them pass.
>
> Thanks. I've committed it like this:
Thanks, but the #else section is still broken for older mintlibs, and
it's really not going to work. That's why I added the new functionality.
Alan.
> 2009-02-28 Bruno Haible <address@hidden>
>
> More support for FreeMiNT.
> * lib/freading.c (freading) [__MINT__]: Use new macros that were added
> to FreeMiNT today.
> * lib/fwriting.c (fwriting): Likewise.
> Based on patch by Alan Hourihane <address@hidden>.
>
> --- lib/freading.c.orig 2009-03-01 02:35:56.000000000 +0100
> +++ lib/freading.c 2009-03-01 02:27:09.000000000 +0100
> @@ -47,10 +47,15 @@
> return ((fp->_Mode & 0x2 /* _MOPENW */) == 0
> || (fp->_Mode & 0x1000 /* _MREAD */) != 0);
> #elif defined __MINT__ /* Atari FreeMiNT */
> - return (!fp->__mode.__write
> - || (fp->__mode.__read
> - && (fp->__buffer < fp->__get_limit
> - /*|| fp->__bufp == fp->__put_limit ??*/)));
> + if (!fp->__mode.__write)
> + return 1;
> + if (!fp->__mode.__read)
> + return 0;
> +# ifdef _IO_CURRENTLY_GETTING /* Flag added on 2009-02-28 */
> + return (fp->__flags & _IO_CURRENTLY_GETTING) != 0;
> +# else
> + return (fp->__buffer < fp->__get_limit /*|| fp->__bufp == fp->__put_limit
> ??*/);
> +# endif
> #else
> #error "Please port gnulib freading.c to your platform!"
> #endif
> --- lib/fwriting.c.orig 2009-03-01 02:35:56.000000000 +0100
> +++ lib/fwriting.c 2009-03-01 02:28:40.000000000 +0100
> @@ -41,10 +41,15 @@
> return ((fp->_Mode & 0x1 /* _MOPENR */) == 0
> || (fp->_Mode & 0x2000 /* _MWRITE */) != 0);
> #elif defined __MINT__ /* Atari FreeMiNT */
> - return (!fp->__mode.__read
> - || (fp->__mode.__write
> - && (fp->__buffer < fp->__put_limit
> - /*|| fp->__bufp == fp->__get_limit ??*/)));
> + if (!fp->__mode.__read)
> + return 1;
> + if (!fp->__mode.__write)
> + return 0;
> +# ifdef _IO_CURRENTLY_PUTTING /* Flag added on 2009-02-28 */
> + return (fp->__flags & _IO_CURRENTLY_PUTTING) != 0;
> +# else
> + return (fp->__buffer < fp->__put_limit /*|| fp->__bufp == fp->__get_limit
> ??*/);
> +# endif
> #else
> #error "Please port gnulib fwriting.c to your platform!"
> #endif
- Re: [patch #6758] Add support for Atari FreeMiNT OS,
Alan Hourihane <=