summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHartmut Holzgraefe <hholzgra@php.net>2000-05-27 19:27:20 +0000
committerHartmut Holzgraefe <hholzgra@php.net>2000-05-27 19:27:20 +0000
commitfb39eda0d80f0b45cbdf17c9b898298f90f4812b (patch)
treeab06cab4b0a4e2e433daad1be9fd5f3aa28973aa
parentafccb5861212d0931fcf61ef8f4e4141700025f2 (diff)
downloadphp-git-fb39eda0d80f0b45cbdf17c9b898298f90f4812b.tar.gz
a second (cleaner?) try on warnings about unsupported functions
-rw-r--r--ext/standard/Makefile.in2
-rw-r--r--ext/standard/basic_functions.c35
-rw-r--r--ext/standard/crypt.c6
-rw-r--r--ext/standard/datetime.c11
-rw-r--r--ext/standard/dl.h4
-rw-r--r--ext/standard/dns.c13
-rw-r--r--ext/standard/microtime.c6
-rw-r--r--ext/standard/php_noavail.c27
-rw-r--r--ext/standard/php_noavail.h27
-rw-r--r--main/php.h7
10 files changed, 92 insertions, 46 deletions
diff --git a/ext/standard/Makefile.in b/ext/standard/Makefile.in
index d83ed1a49a..ed0446d5b4 100644
--- a/ext/standard/Makefile.in
+++ b/ext/standard/Makefile.in
@@ -7,7 +7,7 @@ LTLIBRARY_SOURCES=\
link.c mail.c math.c md5.c metaphone.c microtime.c pack.c pageinfo.c \
parsedate.c quot_print.c rand.c reg.c soundex.c string.c \
syslog.c type.c uniqid.c url.c url_scanner.c var.c output.c assert.c \
- strnatcmp.c levenshtein.c
+ strnatcmp.c levenshtein.c php_noavail.c
include $(top_srcdir)/build/dynlib.mk
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index 838d28ed73..061b4bd7c0 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -87,8 +87,13 @@ 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)
+#else
+ PHP_FALIAS(strftime , warn_not_available, NULL)
+ PHP_FALIAS(gmstrftime, warn_not_available, NULL)
+#endif
PHP_FE(strtotime, NULL)
PHP_FE(date, NULL)
PHP_FE(gmdate, NULL)
@@ -200,9 +205,13 @@ 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)
+#else
+ PHP_FALIAS(checkdnsrr, warn_not_available, NULL)
+ PHP_FALIAS(getmxrr, warn_not_available, NULL)
+#endif
PHP_FE(getmyuid, NULL)
PHP_FE(getmypid, NULL)
@@ -243,12 +252,19 @@ function_entry basic_functions[] = {
PHP_FE(long2ip, NULL)
PHP_FE(getenv, NULL)
+#ifdef HAVE_PUTENV
PHP_FE(putenv, NULL)
+#else
+ PHP_FALIAS(putenv , warn_not_available, NULL)
+#endif
PHP_FE(microtime, NULL)
PHP_FE(gettimeofday, NULL)
-
+#ifdef HAVE_GETRUSAGE
PHP_FE(getrusage, NULL)
+#else
+ PHP_FALIAS(getrusage , warn_not_available, NULL)
+#endif
PHP_FE(uniqid, NULL)
@@ -325,6 +341,7 @@ function_entry basic_functions[] = {
/* functions from dl.c */
PHP_FE(dl, NULL)
+
/* functions from file.c */
PHP_FE(pclose, NULL)
PHP_FE(popen, NULL)
@@ -359,7 +376,11 @@ 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)
+#else
+ PHP_FALIAS(socket_set_timeout , warn_not_available, NULL)
+#endif
PHP_FE(socket_get_status, NULL)
PHP_FE(realpath, NULL)
@@ -374,8 +395,12 @@ function_entry basic_functions[] = {
/* functions from browscap.c */
PHP_FE(get_browser, NULL)
+#if HAVE_CRYPT
/* functions from crypt.c */
PHP_FE(crypt, NULL)
+#else
+ PHP_FALIAS(crypt , warn_not_available, NULL)
+#endif
/* functions from dir.c */
PHP_FE(opendir, NULL)
@@ -792,12 +817,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();
@@ -871,11 +896,9 @@ PHP_FUNCTION(putenv)
RETURN_FALSE;
}
}
-#else
- PHP_NOT_IN_THIS_BUILD();
-#endif
}
/* }}} */
+#endif
/*******************
diff --git a/ext/standard/crypt.c b/ext/standard/crypt.c
index 3cc610c502..ee117e1429 100644
--- a/ext/standard/crypt.c
+++ b/ext/standard/crypt.c
@@ -115,13 +115,11 @@ 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;
@@ -178,11 +176,9 @@ 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
diff --git a/ext/standard/datetime.c b/ext/standard/datetime.c
index 3626d29e21..d9b0b4b3d6 100644
--- a/ext/standard/datetime.c
+++ b/ext/standard/datetime.c
@@ -677,17 +677,11 @@ 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
}
/* }}} */
@@ -695,14 +689,11 @@ 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 */
diff --git a/ext/standard/dl.h b/ext/standard/dl.h
index 9e53733587..f816b72c12 100644
--- a/ext/standard/dl.h
+++ b/ext/standard/dl.h
@@ -41,10 +41,6 @@ void php_dl(pval *file,int type,pval *return_value);
/* dynamic loading functions */
PHP_FUNCTION(dl);
-#ifdef HAVE_LIBDL
PHP_MINFO_FUNCTION(dl);
-#else
-
-#endif
#endif /* _DL_H */
diff --git a/ext/standard/dns.c b/ext/standard/dns.c
index 6bad85efbf..8e481af1cd 100644
--- a/ext/standard/dns.c
+++ b/ext/standard/dns.c
@@ -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,14 +206,9 @@ 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 */
@@ -225,13 +220,11 @@ 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;
@@ -314,12 +307,10 @@ PHP_FUNCTION(getmxrr)
}
}
RETURN_TRUE;
-#else
- PHP_NOT_IN_THIS_BUILD();
-#endif
}
/* }}} */
+#endif
/*
* Local variables:
* tab-width: 4
diff --git a/ext/standard/microtime.c b/ext/standard/microtime.c
index 6fe9d18c3b..ef7600d36a 100644
--- a/ext/standard/microtime.c
+++ b/ext/standard/microtime.c
@@ -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,10 +133,8 @@ 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 */
}
+#endif /* HAVE_GETRUSAGE */
/* }}} */
diff --git a/ext/standard/php_noavail.c b/ext/standard/php_noavail.c
new file mode 100644
index 0000000000..7a53d3f0e1
--- /dev/null
+++ b/ext/standard/php_noavail.c
@@ -0,0 +1,27 @@
+/*
+ +----------------------------------------------------------------------+
+ | PHP version 4.0 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1997, 1998, 1999, 2000 The PHP Group |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 2.02 of the PHP license, |
+ | that is bundled with this package in the file LICENSE, and is |
+ | available at through the world-wide-web at |
+ | http://www.php.net/license/2_02.txt. |
+ | If you did not receive a copy of the PHP license and are unable to |
+ | obtain it through the world-wide-web, please send a note to |
+ | license@php.net so we can mail you a copy immediately. |
+ +----------------------------------------------------------------------+
+ | Authors: Hartmut Holzgraefe <hartmut@six.de> |
+ +----------------------------------------------------------------------+
+*/
+
+#include "php_noavail.h"
+
+PHP_FUNCTION(warn_not_available)
+{
+php_error(E_WARNING,
+ "%s() is not supported in this PHP build",
+ get_active_function_name());
+ RETURN_FALSE;
+}
diff --git a/ext/standard/php_noavail.h b/ext/standard/php_noavail.h
new file mode 100644
index 0000000000..a5dc3d78a5
--- /dev/null
+++ b/ext/standard/php_noavail.h
@@ -0,0 +1,27 @@
+/*
+ +----------------------------------------------------------------------+
+ | PHP version 4.0 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1997, 1998, 1999, 2000 The PHP Group |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 2.02 of the PHP license, |
+ | that is bundled with this package in the file LICENSE, and is |
+ | available at through the world-wide-web at |
+ | http://www.php.net/license/2_02.txt. |
+ | If you did not receive a copy of the PHP license and are unable to |
+ | obtain it through the world-wide-web, please send a note to |
+ | license@php.net so we can mail you a copy immediately. |
+ +----------------------------------------------------------------------+
+ | Authors: Hartmut Holzgraefe <hartmut@six.de> |
+ +----------------------------------------------------------------------+
+*/
+
+
+#ifndef _PHP_NOAVAIL
+#define _PHP_NOAVAIL
+
+#include "php.h"
+
+PHP_FUNCTION(warn_not_available);
+
+#endif /* _PHP_NOAVAIL */
diff --git a/main/php.h b/main/php.h
index 3be9d6af67..ffd276bbc8 100644
--- a/main/php.h
+++ b/main/php.h
@@ -366,11 +366,8 @@ 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; \
-}
+/* warn about unavailable functions */
+#include "ext/standard/php_noavail.h"
#endif