tony2001 Tue Feb 13 19:50:13 2007 UTC Modified files: /php-src/main/streams userspace.c Log: improve php_userstreamop_seek() check for errors in stream_seek() and return correct status http://cvs.php.net/viewvc.cgi/php-src/main/streams/userspace.c?r1=1.40&r2=1.41&diff_format=u Index: php-src/main/streams/userspace.c diff -u php-src/main/streams/userspace.c:1.40 php-src/main/streams/userspace.c:1.41 --- php-src/main/streams/userspace.c:1.40 Wed Jan 24 21:43:47 2007 +++ php-src/main/streams/userspace.c Tue Feb 13 19:50:13 2007 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: userspace.c,v 1.40 2007/01/24 21:43:47 pollita Exp $ */ +/* $Id: userspace.c,v 1.41 2007/02/13 19:50:13 tony2001 Exp $ */ #include "php.h" #include "php_globals.h" @@ -759,6 +759,10 @@ retval = NULL; } + if (ret) { + return ret; + } + /* now determine where we are */ ZVAL_STRINGL(&func_name, USERSTREAM_TELL, sizeof(USERSTREAM_TELL)-1, 0); @@ -768,16 +772,20 @@ &retval, 0, NULL, 0, NULL TSRMLS_CC); - if (call_result == SUCCESS && retval != NULL && Z_TYPE_P(retval) == IS_LONG) + if (call_result == SUCCESS && retval != NULL && Z_TYPE_P(retval) == IS_LONG) { *newoffs = Z_LVAL_P(retval); - else - php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s::" USERSTREAM_TELL " is not implemented!", - us->wrapper->classname); + ret = 0; + } else if (call_result == FAILURE) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s::" USERSTREAM_TELL " is not implemented!", us->wrapper->classname); + ret = -1; + } else { + ret = -1; + } - if (retval) + if (retval) { zval_ptr_dtor(&retval); - - return 0; + } + return ret; } /* parse the return value from one of the stat functions and store the
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php