Ben Collins-Sussman wrote:
>Branko Äibej <[EMAIL PROTECTED]> writes:
>
>
>
>>This interface looks sane, and I can cobble up a Windows implementation
>>in two eyeblinks. As for the patch itself: utimes() is a BSDism and may
>>not be available on all systems. The Unix implementation needs to check
>>for this, and use utime() instead if utimes() isn't available.
>>
>>
>
>Branko, I just committed your & Matt's patches for
>apr_file_mtime_set(). Your test passes for me.
>
>Can you give me a clue about how to "check for utimes()" on unix
>platforms?
>
>
Configury, my man!
Find an appropriate place in configure.in, then:
AC_CHECK_FUNCS(utime, utimes)
That'll get HAVE_UTIME and/or HAVE_UTIMES defined in
include/arch/unix/apr_private.h. Then you just condinitonalize the code
on those defines, giving utimes (which has the more precise interface)
priority; e.g.,
#if HAVE_UTIMES
...use utimes...
#elif HAVE_UTIME
...use utime...
#else
return APR_ENOTIMPL:
#endif
Not that there's much chance that any Unix wouldn't have at least utime().
I don't think you have to tweak apr.h.in. There's no reason to export
which syscall we're using. You do have to put in dummy implementations
that return APR_ENOTIMPL for OS/2 and Netware, though.
--
Brane Äibej <[EMAIL PROTECTED]> http://www.xbc.nu/brane/