> > Another example is touch().  It requires utime which I assume all
> > OS's have although I don't know.  And if not I assume PHP might 
> > essentially say "No utime huh?  Let's use mtime/atime/ctime instead 
> > and define HAVE_UTIME as true."  Again, I don't know this topic of
> > utime so am only guessing here.
> 
> AFAIR utime() is not available on Windows (?)

Maybe not but PHP says it is as I'm guessing it makes it so.  My 
comment above was based off this because the sources require 
HAVE_UTIME for touch() to exist and touch() exists on Windows.

On a related note (although this is getting a little offtopic :) 
the 4.2.3 changelog has this:

  Fixed a bug that prevented touch() from working on various 
  platforms. (Steph)

Not sure what that means exactly though.

Another similar example is sendmail.  There is a HAVE_SENDMAIL as 
well that's defined as true for Windows, and in that case 
win32/sendmail.c is used.  So telling people they need sendmail
would be confusing as it's simply not true.  That and the fact 
that other OS's may use alternatives like qmail and postfix.  But 
I'm not trying to be informative on the topics of utime/sendmail 
(I can't), just trying to make a point ;)

> >>Opinions of the proposed entity?:
> >>
> >><!ENTITY note.func.sysdep '<note><para>This function is system-dependent
> >>and may not be available in your copy of PHP. Use
> >><function>function_exists</function> to be certain.</para></note>'>
> 
> This would confuse people IMHO. "System-dependant" might mean that it is 
> OS specific (MacOS, Linux, Windows), or more fine graied, or ...?

Agreed.  Usually it's Windows versus the rest of the world but many 
times it's because of a required library, a library that we should 
mention as long as a "in-house alternative" does not exist.  Or maybe 
we could even mention that but most likely not.

Regards,
Philip

Reply via email to