fseek() vs. fseeko()

Joel Sherrill joel.sherrill@oarcorp.com
Tue Jun 26 15:36:00 GMT 2012

On 06/20/2012 08:54 AM, Ralf Corsepius wrote:
> On 06/20/2012 03:41 PM, Joel Sherrill wrote:
>> On 06/19/2012 09:42 AM, Sebastian Huber wrote:
>>> On 06/19/2012 04:08 PM, Corinna Vinschen wrote:
>>>> Along these lines, fgetpos and fsetpos are a bit tricky since they
>>>> depend on the definition of fpos_t in include/stdio.h. Right now,
>>>> only Cygwin defines fpos_t as 64 bit type in stdio.h, all other
>>>> targets define fpos_t as 32 bit and fpos64_t as 64 bit type to make
>>>> a clear distinction between the 32 bit and the 64 bit set of functions.
>> Speaking for myself, I would like the methods to default to all 64-bit
>> versions on RTEMS (when the CPU defaults to 64-bit).
> This is non-reasonable, because it's unsuiteable for "small" targets,
> ineffective on some architectures and a waste of resources for some
> applications.
Hence the parenthetical phrase "(when the CPU defaults to 64-bit)"

We choose 32-bit or 64-bit off_t as the default on a per CPU basis
and whichever it is, all methods without an explicit number in the
name should use the default type.
>>> RTEMS has this in<machine/_types.h>:
>> FWIW I think that list to use 64-bit types should be longer.
> This list is hand-crafted for "big targets", based on user-demand.
I have done two ports in the past few months and never looked
at that list. Both should have been on the 64-bit list.

It is another issue entirely but I think we need to make a
conscious decision for every target.
> Ralf

Joel Sherrill, Ph.D.             Director of Research&   Development
joel.sherrill@OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
     Support Available             (256) 722-9985

More information about the Newlib mailing list