> > 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