diff options
author | SVN Migration <svn@php.net> | 2003-02-27 17:43:39 +0000 |
---|---|---|
committer | SVN Migration <svn@php.net> | 2003-02-27 17:43:39 +0000 |
commit | 078bcec0997ad0e07b720c43cc9e6d0e046a75ab (patch) | |
tree | 36cb0f6be2ef078fe3374de8c087b93ecf82f812 /ext/standard/fsock.c | |
parent | fd61f69077f6156ca71dde60ecfd9ed9765a02db (diff) | |
download | php-git-PHP-5.tar.gz |
This commit was manufactured by cvs2svn to create branch 'PHP_5'.PHP-5
Diffstat (limited to 'ext/standard/fsock.c')
-rw-r--r-- | ext/standard/fsock.c | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/ext/standard/fsock.c b/ext/standard/fsock.c deleted file mode 100644 index 8f41cf4d3f..0000000000 --- a/ext/standard/fsock.c +++ /dev/null @@ -1,133 +0,0 @@ -/* - +----------------------------------------------------------------------+ - | PHP Version 4 | - +----------------------------------------------------------------------+ - | Copyright (c) 1997-2003 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: Paul Panotzki - Bunyip Information Systems | - | Jim Winstead <jimw@php.net> | - | Sascha Schumann <sascha@schumann.cx> | - +----------------------------------------------------------------------+ -*/ - -/* $Id$ */ - -#include "php.h" -#include "php_globals.h" -#include <stdlib.h> -#include <stddef.h> -#include "php_network.h" -#include "file.h" - -/* {{{ php_fsockopen() */ - -static void php_fsockopen_stream(INTERNAL_FUNCTION_PARAMETERS, int persistent) -{ - char *host; - long host_len; - int port = -1; - zval *zerrno = NULL, *zerrstr = NULL; - double timeout = FG(default_socket_timeout); - unsigned long conv; - struct timeval tv; - char *hashkey = NULL; - php_stream *stream = NULL; - int err; - char *hostname = NULL; - long hostname_len; - char *errstr = NULL; - - RETVAL_FALSE; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|lzzd", &host, &host_len, &port, &zerrno, &zerrstr, &timeout) == FAILURE) { - RETURN_FALSE; - } - - if (persistent) { - spprintf(&hashkey, 0, "pfsockopen__%s:%d", host, port); - } - - if (port > 0) { - hostname_len = spprintf(&hostname, 0, "%s:%d", host, port); - } else { - hostname_len = host_len; - hostname = host; - } - - /* prepare the timeout value for use */ - conv = (unsigned long) (timeout * 1000000.0); - tv.tv_sec = conv / 1000000; - tv.tv_usec = conv % 1000000; - - if (zerrno) { - zval_dtor(zerrno); - ZVAL_LONG(zerrno, 0); - } - if (zerrstr) { - zval_dtor(zerrstr); - ZVAL_STRING(zerrstr, "", 1); - } - - stream = php_stream_xport_create(hostname, hostname_len, ENFORCE_SAFE_MODE | REPORT_ERRORS, - STREAM_XPORT_CLIENT | STREAM_XPORT_CONNECT, hashkey, &tv, NULL, &errstr, &err); - - if (port > 0) { - efree(hostname); - } - if (stream == NULL) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to connect to %s:%d", host, port); - } - - if (hashkey) { - efree(hashkey); - } - - if (stream == NULL) { - if (zerrno) { - zval_dtor(zerrno); - ZVAL_LONG(zerrno, err); - } - if (zerrstr && errstr) { - /* no need to dup; we need to efree buf anyway */ - zval_dtor(zerrstr); - ZVAL_STRING(zerrstr, errstr, 0); - } - RETURN_FALSE; - } - - php_stream_to_zval(stream, return_value); -} - -/* }}} */ - -/* {{{ proto int fsockopen(string hostname, int port [, int errno [, string errstr [, float timeout]]]) - Open Internet or Unix domain socket connection */ -PHP_FUNCTION(fsockopen) -{ - php_fsockopen_stream(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0); -} -/* }}} */ -/* {{{ proto int pfsockopen(string hostname, int port [, int errno [, string errstr [, float timeout]]]) - Open persistent Internet or Unix domain socket connection */ -PHP_FUNCTION(pfsockopen) -{ - php_fsockopen_stream(INTERNAL_FUNCTION_PARAM_PASSTHRU, 1); -} -/* }}} */ - -/* - * Local variables: - * tab-width: 4 - * c-basic-offset: 4 - * End: - * vim600: sw=4 ts=4 fdm=marker - * vim<600: sw=4 ts=4 - */ |