[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: JFYI Lua 5.2 OSx 10.4
- From: William Ahern <william@...>
- Date: Mon, 28 Apr 2014 17:08:26 -0700
On Mon, Apr 28, 2014 at 08:51:41PM +0200, Philipp Janda wrote:
> Am 28.04.2014 19:10 schr??bte Roberto Ierusalimschy:
> >>On 28/04/14 16:44, Roberto Ierusalimschy wrote:
> >>>
> >>>
> >>>(Sorry for the delay.) How can stdio.h not define 'off_t' but define
> >>>'fseeko', which uses 'off_t' in its prototype?
> >>>
> >>>-- Roberto
> >>>
> >>
> >>Not in 10.4 it would seem [1]
> >>int fseeko(FILE *, fpos_t, int);
> >>
> >>[1] http://www.opensource.apple.com/source/Libc/Libc-391/include/stdio.h
> >
> >So, 10.4 is not POSIX :-(
>
> As long as sys/types.h contains something equivalent to
>
> typedef fpos_t off_t;
>
> it should be fine. E.g. my Linux stdio.h contains
>
> extern int fseeko (FILE *__stream, __off_t __off, int __whence);
>
> but the typedef is in the same file, so no problem here.
>
> I think the fool-proof POSIX solution would be to include sys/types.h.
>
POSIX.1-2008 requires stdio.h to define off_t:
The <stdio.h> header shall define the following data types through
typedef:
...
off_t
As described in <sys/types.h>.
However, OS X is certified as POSIX.1-2001 compliant, where only fpos_t was
required to be defined by stdio.h. The question is, what versions should Lua
try to remain compatible with? OS X 10.4 is really old (2005, long before
POSIX.1-2008 was released), and 10.9 is a free upgrade.