@-Add an optional third argument to fseek to indicate were to seek from. (Sterling)

This commit is contained in:
Sterling Hughes 2000-04-23 19:16:24 +00:00
parent e297737cb1
commit 21416083b1

View File

@ -1183,15 +1183,17 @@ PHP_FUNCTION(ftell)
}
/* }}} */
/* {{{ proto int fseek(int fp, int offset)
/* {{{ proto int fseek(int fp, int offset [, int seekfrom])
Seek on a file pointer */
PHP_FUNCTION(fseek)
{
pval **arg1, **arg2;
pval **arg1, **arg2, **arg3;
int argcount = ARG_COUNT(ht), seekfrom = 0;
void *what;
if (ARG_COUNT(ht) != 2 || zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE) {
if (argcount < 2 || argcount > 3 ||
zend_get_parameters_ex(argcount, &arg1, &arg2, &arg3) == FAILURE) {
WRONG_PARAM_COUNT;
}
@ -1199,8 +1201,12 @@ PHP_FUNCTION(fseek)
ZEND_VERIFY_RESOURCE(what);
convert_to_long_ex(arg2);
if (argcount > 2) {
convert_to_long_ex(arg3);
seekfrom = (*arg3)->value.lval;
}
RETURN_LONG(fseek((FILE*)what,(*arg2)->value.lval,SEEK_SET));
RETURN_LONG(fseek((FILE*)what,(*arg2)->value.lval+seekfrom,SEEK_SET));
}
/* }}} */