if a module provides a function it should also do so if the function

is not functional due to configure findings
the function should offer a meaningful warning if it is not supported
instead of just beeing undefined
i had already changed this in 'gd', now this is doing it for 'standard'
This commit is contained in:
Hartmut Holzgraefe 2000-05-26 17:04:02 +00:00
parent 9bfd5e5e55
commit 69d1e788c0
9 changed files with 49 additions and 27 deletions

View File

@ -87,10 +87,8 @@ function_entry basic_functions[] = {
PHP_FE(time, NULL)
PHP_FE(mktime, NULL)
PHP_FE(gmmktime, NULL)
#if HAVE_STRFTIME
PHP_FE(strftime, NULL)
PHP_FE(gmstrftime, NULL)
#endif
PHP_FE(strtotime, NULL)
PHP_FE(date, NULL)
PHP_FE(gmdate, NULL)
@ -202,10 +200,9 @@ function_entry basic_functions[] = {
PHP_FE(gethostbyaddr, NULL)
PHP_FE(gethostbyname, NULL)
PHP_FE(gethostbynamel, NULL)
#if !defined(PHP_WIN32)||HAVE_BINDLIB
PHP_FE(checkdnsrr, NULL)
PHP_FE(getmxrr, second_and_third_args_force_ref)
#endif
PHP_FE(getmyuid, NULL)
PHP_FE(getmypid, NULL)
@ -246,15 +243,12 @@ function_entry basic_functions[] = {
PHP_FE(long2ip, NULL)
PHP_FE(getenv, NULL)
#ifdef HAVE_PUTENV
PHP_FE(putenv, NULL)
#endif
PHP_FE(microtime, NULL)
PHP_FE(gettimeofday, NULL)
#ifdef HAVE_GETRUSAGE
PHP_FE(getrusage, NULL)
#endif
PHP_FE(uniqid, NULL)
@ -328,10 +322,8 @@ function_entry basic_functions[] = {
PHP_FALIAS(join, implode, NULL)
PHP_FE(sql_regcase, NULL)
#ifdef HAVE_LIBDL
/* functions from dl.c */
PHP_FE(dl, NULL)
#endif
/* functions from file.c */
PHP_FE(pclose, NULL)
@ -367,9 +359,7 @@ function_entry basic_functions[] = {
use socket_set_blocking() instead */
PHP_FE(set_socket_blocking, NULL)
PHP_FE(socket_set_blocking, NULL)
#if HAVE_SYS_TIME_H
PHP_FE(socket_set_timeout, NULL)
#endif
PHP_FE(socket_get_status, NULL)
PHP_FE(realpath, NULL)
@ -384,10 +374,8 @@ function_entry basic_functions[] = {
/* functions from browscap.c */
PHP_FE(get_browser, NULL)
#if HAVE_CRYPT
/* functions from crypt.c */
PHP_FE(crypt, NULL)
#endif
/* functions from dir.c */
PHP_FE(opendir, NULL)
@ -804,12 +792,12 @@ PHP_FUNCTION(getenv)
}
/* }}} */
#ifdef HAVE_PUTENV
/* {{{ proto void putenv(string setting)
Set the value of an environment variable */
PHP_FUNCTION(putenv)
{
#ifdef HAVE_PUTENV
pval **str;
BLS_FETCH();
@ -883,9 +871,11 @@ PHP_FUNCTION(putenv)
RETURN_FALSE;
}
}
#else
PHP_NOT_IN_THIS_BUILD;
#endif
}
/* }}} */
#endif
/*******************

View File

@ -115,11 +115,13 @@ static void php_to64(char *s, long v, int n) {
v >>= 6;
}
}
#endif /* HAVE_CRYPT */
/* {{{ proto string crypt(string str [, string salt])
Encrypt a string */
PHP_FUNCTION(crypt)
{
#if HAVE_CRYPT
char salt[PHP_MAX_SALT_LEN+1];
pval **arg1, **arg2;
@ -176,9 +178,11 @@ PHP_FUNCTION(crypt)
return_value->value.str.len = strlen(return_value->value.str.val);
return_value->type = IS_STRING;
pval_copy_constructor(return_value);
#else
PHP_NOT_IN_THIS_BUILD;
#endif /* HAVE_CRYPT */
}
/* }}} */
#endif

View File

@ -677,11 +677,17 @@ void _php_strftime(INTERNAL_FUNCTION_PARAMETERS, int gm)
efree(buf);
RETURN_FALSE;
}
#endif
/* {{{ proto string strftime(string format [, int timestamp])
Format a local time/date according to locale settings */
PHP_FUNCTION(strftime)
{
#if HAVE_STRFTIME
_php_strftime(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0);
#else
PHP_NOT_IN_THIS_BUILD;
#endif
}
/* }}} */
@ -689,11 +695,14 @@ PHP_FUNCTION(strftime)
Format a GMT/CUT time/date according to locale settings */
PHP_FUNCTION(gmstrftime)
{
#if HAVE_STRFTIME
_php_strftime(INTERNAL_FUNCTION_PARAM_PASSTHRU, 1);
#else
PHP_NOT_IN_THIS_BUILD;
#endif
}
/* }}} */
#endif
/* {{{ proto int strtotime(string time, int now)
Convert string representation of date and time to a timestamp */

View File

@ -37,12 +37,12 @@
void php_dl(pval *file,int type,pval *return_value);
#ifdef HAVE_LIBDL
/* dynamic loading functions */
PHP_FUNCTION(dl);
PHP_MINFO_FUNCTION(dl);
#ifdef HAVE_LIBDL
PHP_MINFO_FUNCTION(dl);
#else
#endif

View File

@ -159,12 +159,12 @@ char *php_gethostbyname(char *name)
return estrdup(inet_ntoa(in));
}
#if !defined(PHP_WIN32)||HAVE_BINDLIB
/* {{{ proto int checkdnsrr(string host [, string type])
Check DNS records corresponding to a given Internet host name or IP address */
PHP_FUNCTION(checkdnsrr)
{
#if !defined(PHP_WIN32)||HAVE_BINDLIB
pval **arg1,**arg2;
int type,i;
#ifndef MAXPACKET
@ -206,9 +206,14 @@ PHP_FUNCTION(checkdnsrr)
RETURN_FALSE;
}
RETURN_TRUE;
#else
PHP_NOT_IN_THIS_BUILD;
#endif
}
/* }}} */
#if !defined(PHP_WIN32)||HAVE_BINDLIB
#ifndef HFIXEDSZ
#define HFIXEDSZ 12 /* fixed data in header <arpa/nameser.h> */
#endif /* HFIXEDSZ */
@ -220,11 +225,13 @@ PHP_FUNCTION(checkdnsrr)
#ifndef MAXHOSTNAMELEN
#define MAXHOSTNAMELEN 256
#endif /* MAXHOSTNAMELEN */
#endif
/* {{{ proto int getmxrr(string hostname, array mxhosts [, array weight])
Get MX records corresponding to a given Internet host name */
PHP_FUNCTION(getmxrr)
{
#if !defined(PHP_WIN32)||HAVE_BINDLIB
pval *host, *mx_list, *weight_list;
int need_weight = 0;
int count,qdc;
@ -307,10 +314,12 @@ PHP_FUNCTION(getmxrr)
}
}
RETURN_TRUE;
#else
PHP_NOT_IN_THIS_BUILD;
#endif
}
/* }}} */
#endif
/*
* Local variables:
* tab-width: 4

View File

@ -845,9 +845,9 @@ PHP_FUNCTION(set_socket_blocking)
/* {{{ proto bool socket_set_timeout(int socket descriptor, int seconds, int microseconds)
Set timeout on socket read to seconds + microseonds */
#if HAVE_SYS_TIME_H
PHP_FUNCTION(socket_set_timeout)
{
#if HAVE_SYS_TIME_H
zval **socket, **seconds, **microseconds;
int type;
void *what;
@ -876,8 +876,10 @@ PHP_FUNCTION(socket_set_timeout)
php_sockset_timeout(socketd, &t);
RETURN_TRUE;
}
#else
PHP_NOT_IN_THIS_BUILD;
#endif /* HAVE_SYS_TIME_H */
}
/* }}} */

View File

@ -89,11 +89,11 @@ PHP_FUNCTION(gettimeofday)
}
/* }}} */
#ifdef HAVE_GETRUSAGE
/* {{{ proto array getrusage([int who])
Returns an array of usage statistics */
PHP_FUNCTION(getrusage)
{
#ifdef HAVE_GETRUSAGE
struct rusage usg;
int ac = ARG_COUNT(ht);
pval **pwho;
@ -133,8 +133,10 @@ PHP_FUNCTION(getrusage)
PHP_RUSAGE_PARA(ru_stime.tv_usec);
PHP_RUSAGE_PARA(ru_stime.tv_sec);
#undef PHP_RUSAGE_PARA
}
#else
PHP_NOT_IN_THIS_BUILD;
#endif /* HAVE_GETRUSAGE */
}
/* }}} */

View File

@ -21,8 +21,8 @@
#ifndef PHP_CRYPT_H
#define PHP_CRYPT_H
#if HAVE_CRYPT
PHP_FUNCTION(crypt);
#if HAVE_CRYPT
extern PHP_MINIT_FUNCTION(crypt);
#endif

View File

@ -366,6 +366,12 @@ PHPAPI int cfg_get_string(char *varname, char **result);
#define XtOffsetOf(s_type,field) XtOffset(s_type*,field)
#endif
#define PHP_NOT_IN_THIS_BUILD { \
php_error(E_WARNING, "%s: not supported in this PHP build",get_active_function_name()); \
RETURN_FALSE; \
}
#endif
/*