Re: [gccsdk] FILE structure

2019-11-26 Thread Ron
In article <20191126092042.bffc220...@orac.inputplus.co.uk>,
   Ralph Corderoy  wrote:
> Hi Ronald,

> > In trying to implement wget's own support lib there was a requirement
> > for an implementation of freading().

> Here's glibc's description.  https://manned.org/__freading.3

> > It looks like some extra system flag would need to be set on every
> > read, and negated on a write.

> That may be needed anyway as a side effect of tracking a buffer's state,
> e.g.
> https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=blob;f=newlib/libc/stdio/refill.c;h=87a715b848b0009624f3fc76d938ef49a35bc282;hb=HEAD#l33

Yes, dawned on me it is the generic gnu support lib.
The only use of freading() in wget is in gnulib function fflush() and it
appears to be only there to address a mingw problem. whether unixlib
would benefit as well I dont know.

excerpt from fflush.c
/*  We test ! freading (stream) here, rather than fwriting (stream),
because what we need to know is whether the stream holds a "read
buffer", and on mingw this is indicated by _IOREAD, regardless of
_IOWRT. */

  if (stream == NULL || ! freading (stream))
return fflush (stream);

Changing to
  if (stream == NULL)
Will let it can drop through to the other methods if stream is not NULL.

I'd still have to satisfy the building of the unused freading.c for the
autobuilder though, and just changing freading.c

#ifdef  __riscos__
 return 0;

may suffice, I guess ! 0  is untrue for the useage and it will drop
through.
I might log it for a while to make sure.

Ronald



___
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK


Re: [gccsdk] FILE structure

2019-11-26 Thread Ralph Corderoy
Hi Ronald,

> In trying to implement wget's own support lib there was a requirement
> for an implementation of freading().

Here's glibc's description.  https://manned.org/__freading.3

> It looks like some extra system flag would need to be set on every
> read, and negated on a write.

That may be needed anyway as a side effect of tracking a buffer's state,
e.g.
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=blob;f=newlib/libc/stdio/refill.c;h=87a715b848b0009624f3fc76d938ef49a35bc282;hb=HEAD#l33

-- 
Cheers, Ralph.

___
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK