]> granicus.if.org Git - php/commitdiff
a second (cleaner?) try on warnings about unsupported functions
authorHartmut Holzgraefe <hholzgra@php.net>
Sat, 27 May 2000 19:27:20 +0000 (19:27 +0000)
committerHartmut Holzgraefe <hholzgra@php.net>
Sat, 27 May 2000 19:27:20 +0000 (19:27 +0000)
ext/standard/Makefile.in
ext/standard/basic_functions.c
ext/standard/crypt.c
ext/standard/datetime.c
ext/standard/dl.h
ext/standard/dns.c
ext/standard/microtime.c
ext/standard/php_noavail.c [new file with mode: 0644]
ext/standard/php_noavail.h [new file with mode: 0644]
main/php.h

index d83ed1a49af7fe524d6e080046d7b873b85d00f6..ed0446d5b4517aa1ad46320d70a87e035d340ed1 100644 (file)
@@ -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
 
index 838d28ed738c0924b053b36029e3442b9e16d955..061b4bd7c01cd124e56de536e0172bfd4f27cf20 100644 (file)
@@ -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
 
 
 /*******************
index 3cc610c5025b71fb85fc85d5c67e415132ed88ed..ee117e142959e78ff0473721ab316347961d4455 100644 (file)
@@ -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
 
 
 
index 3626d29e216a7ffcb03d2c4cc3c763cd2b4926be..d9b0b4b3d645d2d354719da7ff28835ae59745b2 100644 (file)
@@ -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 */
index 9e537335873bd9edca31fc51cc9d527667fa4d66..f816b72c12ba5052e1d5ac1b7778b60feef69507 100644 (file)
@@ -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 */
index 6bad85efbf31ddad5f57f8e1cd0bc9c43368b046..8e481af1cd8ee60b27c15b09a2c32719ab02b38a 100644 (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,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
index 6fe9d18c3b3ab8c01fadcb409444c05032534ca1..ef7600d36ac9a17ff5c515965cbe85b819f15067 100644 (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,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 (file)
index 0000000..7a53d3f
--- /dev/null
@@ -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 (file)
index 0000000..a5dc3d7
--- /dev/null
@@ -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 */
index 3be9d6af671c9d221c72538a79afc8644fb323a2..ffd276bbc8185e45cde0d3125d78d29fadd217a4 100644 (file)
@@ -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