From 27adb755855c004c80484b744f9551ac1cac19b6 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sun, 25 Aug 2002 10:10:23 +0000 Subject: Remove php_stream_error as discussed with Rasmus. Unify error messages for ext/ftp. (which was using php_stream_error). --- ext/ftp/ftp.c | 20 +++--------- ext/ftp/php_ftp.c | 89 +++++++++++++++++++++++++----------------------------- main/php_streams.h | 4 --- 3 files changed, 45 insertions(+), 68 deletions(-) diff --git a/ext/ftp/ftp.c b/ext/ftp/ftp.c index 32c3cf0e79..8274c7ee2e 100644 --- a/ext/ftp/ftp.c +++ b/ext/ftp/ftp.c @@ -608,7 +608,8 @@ ftp_get(ftpbuf_t *ftp, php_stream *outstream, const char *path, ftptype_t type, } } else { - php_stream_write(outstream, data->buf, rcvd); + if (rcvd != php_stream_write(outstream, data->buf, rcvd)) + goto bail; } } @@ -617,10 +618,6 @@ ftp_get(ftpbuf_t *ftp, php_stream *outstream, const char *path, ftptype_t type, data = data_close(data); - if (php_stream_error(outstream)) { - goto bail; - } - if (!ftp_getresp(ftp) || (ftp->resp != 226 && ftp->resp != 250)) { goto bail; } @@ -694,9 +691,6 @@ ftp_put(ftpbuf_t *ftp, const char *path, php_stream *instream, ftptype_t type, i if (size && my_send(ftp, data->fd, data->buf, size) != size) goto bail; - if (php_stream_error(instream)) - goto bail; - data = data_close(data); if (!ftp_getresp(ftp) || (ftp->resp != 226 && ftp->resp != 250)) @@ -1458,7 +1452,8 @@ ftp_async_continue_read(ftpbuf_t *ftp) } } else { - php_stream_write(ftp->stream, data->buf, rcvd); + if (rcvd != php_stream_write(ftp->stream, data->buf, rcvd)) + goto bail; } ftp->lastch = lastch; @@ -1470,10 +1465,6 @@ ftp_async_continue_read(ftpbuf_t *ftp) data = data_close(data); - if (php_stream_error(ftp->stream)) { - goto bail; - } - if (!ftp_getresp(ftp) || (ftp->resp != 226 && ftp->resp != 250)) { goto bail; } @@ -1578,9 +1569,6 @@ ftp_async_continue_write(ftpbuf_t *ftp) if (size && my_send(ftp, ftp->data->fd, ftp->data->buf, size) != size) goto bail; - if (php_stream_error(ftp->stream)) - goto bail; - ftp->data = data_close(ftp->data); if (!ftp_getresp(ftp) || (ftp->resp != 226 && ftp->resp != 250)) diff --git a/ext/ftp/php_ftp.c b/ext/ftp/php_ftp.c index 9e17a94ab4..a279ed81fc 100644 --- a/ext/ftp/php_ftp.c +++ b/ext/ftp/php_ftp.c @@ -119,7 +119,7 @@ PHP_MINFO_FUNCTION(ftp) #define XTYPE(xtype, mode) { \ if (mode != FTPTYPE_ASCII && mode != FTPTYPE_IMAGE) { \ - php_error(E_WARNING, "%s(): Mode must be FTP_ASCII or FTP_BINARY", get_active_function_name(TSRMLS_C)); \ + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Mode must be FTP_ASCII or FTP_BINARY"); \ RETURN_FALSE; \ } \ xtype = mode; \ @@ -140,8 +140,7 @@ PHP_FUNCTION(ftp_connect) } if (timeout_sec <= 0) { - php_error(E_WARNING, "%s(): Timeout has to be greater than 0", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Timeout has to be greater than 0"); RETURN_FALSE; } @@ -175,7 +174,7 @@ PHP_FUNCTION(ftp_login) /* log in */ if (!ftp_login(ftp, user, pass)) { - php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), ftp->inbuf); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); RETURN_FALSE; } @@ -199,7 +198,7 @@ PHP_FUNCTION(ftp_pwd) pwd = ftp_pwd(ftp); if (pwd == NULL) { - php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), ftp->inbuf); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); RETURN_FALSE; } @@ -221,7 +220,7 @@ PHP_FUNCTION(ftp_cdup) ZEND_FETCH_RESOURCE(ftp, ftpbuf_t*, &z_ftp, -1, le_ftpbuf_name, le_ftpbuf); if (!ftp_cdup(ftp)) { - php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), ftp->inbuf); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); RETURN_FALSE; } @@ -246,7 +245,7 @@ PHP_FUNCTION(ftp_chdir) /* change directories */ if (!ftp_chdir(ftp, dir)) { - php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), ftp->inbuf); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); RETURN_FALSE; } @@ -271,7 +270,7 @@ PHP_FUNCTION(ftp_exec) /* execute serverside command */ if (!ftp_exec(ftp, cmd)) { - php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), ftp->inbuf); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); RETURN_FALSE; } @@ -296,7 +295,7 @@ PHP_FUNCTION(ftp_mkdir) /* create directorie */ if (NULL == (tmp = ftp_mkdir(ftp, dir))) { - php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), ftp->inbuf); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); RETURN_FALSE; } @@ -321,7 +320,7 @@ PHP_FUNCTION(ftp_rmdir) /* remove directorie */ if (!ftp_rmdir(ftp, dir)) { - php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), ftp->inbuf); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); RETURN_FALSE; } @@ -400,7 +399,7 @@ PHP_FUNCTION(ftp_systype) syst = ftp_syst(ftp); if (NULL == (syst = ftp_syst(ftp))) { - php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), ftp->inbuf); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); RETURN_FALSE; } @@ -424,7 +423,7 @@ PHP_FUNCTION(ftp_fget) } ZEND_FETCH_RESOURCE(ftp, ftpbuf_t*, &z_ftp, -1, le_ftpbuf_name, le_ftpbuf); - ZEND_FETCH_RESOURCE(stream, php_stream*, &z_file, -1, "File-Handle", php_file_le_stream()); + php_stream_from_zval(stream, &z_file); XTYPE(xtype, mode); /* ignore autoresume if autoseek is switched off */ @@ -442,13 +441,8 @@ PHP_FUNCTION(ftp_fget) } } - if (!ftp_get(ftp, stream, file, xtype, resumepos) || php_stream_error(stream)) { - php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), ftp->inbuf); - RETURN_FALSE; - } - - if (php_stream_error(stream)) { - php_error(E_WARNING, "%s(): Error writing %s", get_active_function_name(TSRMLS_C), Z_STRVAL_P(z_file)); + if (!ftp_get(ftp, stream, file, xtype, resumepos)) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); RETURN_FALSE; } @@ -494,8 +488,8 @@ PHP_FUNCTION(ftp_async_fget) ftp->direction = 0; /* recv */ ftp->closestream = 0; /* do not close */ - if ((ret = ftp_async_get(ftp, stream, file, xtype, resumepos)) == PHP_FTP_FAILED || php_stream_error(stream)) { - php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), ftp->inbuf); + if ((ret = ftp_async_get(ftp, stream, file, xtype, resumepos)) == PHP_FTP_FAILED) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); RETURN_LONG(ret); } @@ -567,13 +561,13 @@ PHP_FUNCTION(ftp_get) } if (outstream == NULL) { - php_error(E_WARNING, "%s(): Error opening %s", get_active_function_name(TSRMLS_C), local); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Error opening %s", local); RETURN_FALSE; } - if (!ftp_get(ftp, outstream, remote, xtype, resumepos) || php_stream_error(outstream)) { + if (!ftp_get(ftp, outstream, remote, xtype, resumepos)) { php_stream_close(outstream); - php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), ftp->inbuf); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); RETURN_FALSE; } @@ -623,7 +617,7 @@ PHP_FUNCTION(ftp_async_get) } if (outstream == NULL) { - php_error(E_WARNING, "%s(): Error opening %s", get_active_function_name(TSRMLS_C), local); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Error opening %s", local); RETURN_FALSE; } @@ -631,9 +625,9 @@ PHP_FUNCTION(ftp_async_get) ftp->direction = 0; /* recv */ ftp->closestream = 1; /* do close */ - if ((ret = ftp_async_get(ftp, outstream, remote, xtype, resumepos)) == PHP_FTP_FAILED || php_stream_error(outstream)) { + if ((ret = ftp_async_get(ftp, outstream, remote, xtype, resumepos)) == PHP_FTP_FAILED) { php_stream_close(outstream); - php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), ftp->inbuf); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); RETURN_LONG(PHP_FTP_FAILED); } @@ -660,7 +654,7 @@ PHP_FUNCTION(ftp_async_continue) ZEND_FETCH_RESOURCE(ftp, ftpbuf_t*, &z_ftp, -1, le_ftpbuf_name, le_ftpbuf); if (!ftp->async) { - php_error(E_WARNING, "%s(): no asyncronous transfer to continue.", get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "no asyncronous transfer to continue."); RETURN_LONG(PHP_FTP_FAILED); } @@ -674,8 +668,8 @@ PHP_FUNCTION(ftp_async_continue) php_stream_close(ftp->stream); } - if (ret == PHP_FTP_FAILED || php_stream_error(ftp->stream)) { - php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), ftp->inbuf); + if (ret == PHP_FTP_FAILED) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); } RETURN_LONG(ret); @@ -720,7 +714,7 @@ PHP_FUNCTION(ftp_fput) } if (!ftp_put(ftp, remote, stream, xtype, startpos)) { - php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), ftp->inbuf); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); RETURN_FALSE; } @@ -769,8 +763,8 @@ PHP_FUNCTION(ftp_async_fput) ftp->direction = 1; /* send */ ftp->closestream = 0; /* do not close */ - if (((ret = ftp_async_put(ftp, remote, stream, xtype, startpos)) == PHP_FTP_FAILED) || php_stream_error(stream)) { - php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), ftp->inbuf); + if (((ret = ftp_async_put(ftp, remote, stream, xtype, startpos)) == PHP_FTP_FAILED)) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); RETURN_LONG(ret); } @@ -821,9 +815,9 @@ PHP_FUNCTION(ftp_put) } } - if (!ftp_put(ftp, remote, instream, xtype, startpos) || php_stream_error(instream)) { + if (!ftp_put(ftp, remote, instream, xtype, startpos)) { php_stream_close(instream); - php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), ftp->inbuf); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); RETURN_FALSE; } php_stream_close(instream); @@ -885,8 +879,8 @@ PHP_FUNCTION(ftp_async_put) php_stream_close(instream); } - if (ret == PHP_FTP_FAILED || php_stream_error(instream)) { - php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), ftp->inbuf); + if (ret == PHP_FTP_FAILED) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); } RETURN_LONG(ret); @@ -950,7 +944,7 @@ PHP_FUNCTION(ftp_rename) /* rename the file */ if (!ftp_rename(ftp, src, dest)) { - php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), ftp->inbuf); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); RETURN_FALSE; } @@ -975,7 +969,7 @@ PHP_FUNCTION(ftp_delete) /* delete the file */ if (!ftp_delete(ftp, file)) { - php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), ftp->inbuf); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); RETURN_FALSE; } @@ -1000,7 +994,7 @@ PHP_FUNCTION(ftp_site) /* send the site command */ if (!ftp_site(ftp, cmd)) { - php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), ftp->inbuf); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); RETURN_FALSE; } @@ -1042,13 +1036,12 @@ PHP_FUNCTION(ftp_set_option) switch (option) { case PHP_FTP_OPT_TIMEOUT_SEC: if (Z_TYPE_P(z_value) != IS_LONG) { - php_error(E_WARNING, "%s(): Option TIMEOUT_SEC expects value of type long, %s given", - get_active_function_name(TSRMLS_C), zend_zval_type_name(z_value)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Option TIMEOUT_SEC expects value of type long, %s given", + zend_zval_type_name(z_value)); RETURN_FALSE; } if (Z_LVAL_P(z_value) <= 0) { - php_error(E_WARNING, "%s(): Timeout has to be greater than 0", - get_active_function_name(TSRMLS_C)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Timeout has to be greater than 0"); RETURN_FALSE; } ftp->timeout_sec = Z_LVAL_P(z_value); @@ -1056,15 +1049,15 @@ PHP_FUNCTION(ftp_set_option) break; case PHP_FTP_OPT_AUTOSEEK: if (Z_TYPE_P(z_value) != IS_BOOL) { - php_error(E_WARNING, "%s(): Option AUTOSEEK expects value of type boolean, %s given", - get_active_function_name(TSRMLS_C), zend_zval_type_name(z_value)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Option AUTOSEEK expects value of type boolean, %s given", + zend_zval_type_name(z_value)); RETURN_FALSE; } ftp->autoseek = Z_LVAL_P(z_value); RETURN_TRUE; break; default: - php_error(E_WARNING, "%s(): Unknown option '%d'", get_active_function_name(TSRMLS_C), option); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown option '%d'", option); RETURN_FALSE; break; } @@ -1092,7 +1085,7 @@ PHP_FUNCTION(ftp_get_option) case PHP_FTP_OPT_AUTOSEEK: RETURN_BOOL(ftp->autoseek); default: - php_error(E_WARNING, "%s(): Unknown option '%d'", get_active_function_name(TSRMLS_C), option); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown option '%d'", option); RETURN_FALSE; break; } diff --git a/main/php_streams.h b/main/php_streams.h index 867048f4a8..94bc0c363a 100755 --- a/main/php_streams.h +++ b/main/php_streams.h @@ -375,10 +375,6 @@ PHPAPI size_t _php_stream_copy_to_mem(php_stream *src, char **buf, size_t maxlen PHPAPI size_t _php_stream_passthru(php_stream * src STREAMS_DC TSRMLS_DC); #define php_stream_passthru(stream) _php_stream_passthru((stream) STREAMS_CC TSRMLS_CC) - -/* maybe implement someday */ -#define php_stream_error(stream) (0) - /* operations for a stdio FILE; use the php_stream_fopen_XXX funcs below */ PHPAPI extern php_stream_ops php_stream_stdio_ops; /* like fopen, but returns a stream */ -- cgit v1.2.1