if (!(p = php_stream_locate_eol(stream, target_buf, target_len TSRMLS_CC))) {
p = e;
goto parse_eol;
- }
-
+ }
+
if (stream->flags & PHP_STREAM_FLAG_EOL_MAC) {
- eol_marker = '\r';
+ eol_marker = '\r';
}
/* for performance reasons the code is duplicated, so that the if (include_new_line)
add_index_stringl(return_value, i++, slashed, len, 0);
} else {
add_index_stringl(return_value, i++, estrndup(s, p-s), p-s, 0);
- }
+ }
s = p;
} while ((p = memchr(p, eol_marker, (e-p))));
} else {
add_index_stringl(return_value, i++, slashed, len, 0);
} else {
add_index_stringl(return_value, i++, estrndup(s, p-s), p-s, 0);
- }
+ }
s = ++p;
} while ((p = memchr(p, eol_marker, (e-p))));
}
if (s != e) {
p = e;
goto parse_eol;
- }
- }
+ }
+ }
if (target_buf) {
efree(target_buf);
stream = php_stream_fopen_tmpfile();
- if (stream) {
+ if (stream) {
php_stream_to_zval(stream, return_value);
- }
- else {
+ } else {
RETURN_FALSE;
}
}
ZEND_FETCH_RESOURCE(context, php_stream_context*, &zcontext, -1, "stream-context", le_stream_context);
}
- stream = php_stream_open_wrapper_ex(filename, mode,
- (use_include_path ? USE_PATH : 0) | ENFORCE_SAFE_MODE | REPORT_ERRORS,
- NULL, context);
+ stream = php_stream_open_wrapper_ex(filename, mode, (use_include_path ? USE_PATH : 0) | ENFORCE_SAFE_MODE | REPORT_ERRORS, NULL, context);
if (stream == NULL) {
RETURN_FALSE;
if (argc == 1) {
/* ask streams to give us a buffer of an appropriate size */
buf = php_stream_get_line(stream, NULL, 0, &line_len);
- if (buf == NULL)
+ if (buf == NULL) {
goto exit_failed;
+ }
} else if (argc > 1) {
convert_to_long_ex(arg2);
len = Z_LVAL_PP(arg2);
}
buf = ecalloc(len + 1, sizeof(char));
- if (php_stream_get_line(stream, buf, len, &line_len) == NULL)
+ if (php_stream_get_line(stream, buf, len, &line_len) == NULL) {
goto exit_failed;
+ }
}
if (PG(magic_quotes_runtime)) {
exit_failed:
RETVAL_FALSE;
- if (buf)
+ if (buf) {
efree(buf);
+ }
}
/* }}} */
int allowed_tags_len=0;
switch(ZEND_NUM_ARGS()) {
- case 1:
- if (zend_get_parameters_ex(1, &fd) == FAILURE) {
- RETURN_FALSE;
- }
- break;
- case 2:
- if (zend_get_parameters_ex(2, &fd, &bytes) == FAILURE) {
- RETURN_FALSE;
- }
- break;
- case 3:
- if (zend_get_parameters_ex(3, &fd, &bytes, &allow) == FAILURE) {
- RETURN_FALSE;
- }
- convert_to_string_ex(allow);
- allowed_tags = Z_STRVAL_PP(allow);
- allowed_tags_len = Z_STRLEN_PP(allow);
- break;
- default:
- WRONG_PARAM_COUNT;
- /* NOTREACHED */
- break;
+ case 1:
+ if (zend_get_parameters_ex(1, &fd) == FAILURE) {
+ RETURN_FALSE;
+ }
+ break;
+
+ case 2:
+ if (zend_get_parameters_ex(2, &fd, &bytes) == FAILURE) {
+ RETURN_FALSE;
+ }
+ break;
+
+ case 3:
+ if (zend_get_parameters_ex(3, &fd, &bytes, &allow) == FAILURE) {
+ RETURN_FALSE;
+ }
+ convert_to_string_ex(allow);
+ allowed_tags = Z_STRVAL_PP(allow);
+ allowed_tags_len = Z_STRLEN_PP(allow);
+ break;
+
+ default:
+ WRONG_PARAM_COUNT;
+ /* NOTREACHED */
+ break;
}
php_stream_from_zval(stream, fd);
php_stream *stream;
switch (ZEND_NUM_ARGS()) {
- case 2:
- if (zend_get_parameters_ex(2, &arg1, &arg2)==FAILURE) {
- RETURN_FALSE;
- }
- convert_to_string_ex(arg2);
- num_bytes = Z_STRLEN_PP(arg2);
- break;
- case 3:
- if (zend_get_parameters_ex(3, &arg1, &arg2, &arg3)==FAILURE) {
- RETURN_FALSE;
- }
- convert_to_string_ex(arg2);
- convert_to_long_ex(arg3);
- num_bytes = MIN(Z_LVAL_PP(arg3), Z_STRLEN_PP(arg2));
- break;
- default:
- WRONG_PARAM_COUNT;
- /* NOTREACHED */
- break;
+ case 2:
+ if (zend_get_parameters_ex(2, &arg1, &arg2)==FAILURE) {
+ RETURN_FALSE;
+ }
+ convert_to_string_ex(arg2);
+ num_bytes = Z_STRLEN_PP(arg2);
+ break;
+
+ case 3:
+ if (zend_get_parameters_ex(3, &arg1, &arg2, &arg3)==FAILURE) {
+ RETURN_FALSE;
+ }
+ convert_to_string_ex(arg2);
+ convert_to_long_ex(arg3);
+ num_bytes = MIN(Z_LVAL_PP(arg3), Z_STRLEN_PP(arg2));
+ break;
+
+ default:
+ WRONG_PARAM_COUNT;
+ /* NOTREACHED */
+ break;
}
php_stream_from_zval(stream, arg1);
int argcount = ZEND_NUM_ARGS(), whence = SEEK_SET;
php_stream *stream;
- if (argcount < 2 || argcount > 3 ||
- zend_get_parameters_ex(argcount, &arg1, &arg2, &arg3) == FAILURE) {
+ if (argcount < 2 || argcount > 3 || zend_get_parameters_ex(argcount, &arg1, &arg2, &arg3) == FAILURE) {
WRONG_PARAM_COUNT;
}
/* check args */
switch (ZEND_NUM_ARGS()) {
- case 1:
- if (zend_get_parameters_ex(1, &arg1) == FAILURE) {
- WRONG_PARAM_COUNT;
- }
- break;
- case 2:
- if (zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE) {
+ case 1:
+ if (zend_get_parameters_ex(1, &arg1) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+ break;
+
+ case 2:
+ if (zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+ convert_to_long_ex(arg2);
+ use_include_path = Z_LVAL_PP(arg2);
+ break;
+
+ default:
WRONG_PARAM_COUNT;
- }
- convert_to_long_ex(arg2);
- use_include_path = Z_LVAL_PP(arg2);
- break;
- default:
- WRONG_PARAM_COUNT;
}
convert_to_string_ex(arg1);
- stream = php_stream_open_wrapper(Z_STRVAL_PP(arg1), "rb",
- (use_include_path ? USE_PATH : 0) | ENFORCE_SAFE_MODE | REPORT_ERRORS,
- NULL);
- if (stream) {
+ stream = php_stream_open_wrapper(Z_STRVAL_PP(arg1), "rb", (use_include_path ? USE_PATH : 0) | ENFORCE_SAFE_MODE | REPORT_ERRORS, NULL);
+ if (stream) {
size = php_stream_passthru(stream);
php_stream_close(stream);
RETURN_LONG(size);
/* {{{ proto int fpassthru(resource fp)
Output all remaining data from a file pointer */
-
PHPAPI PHP_FUNCTION(fpassthru)
{
zval **arg1;
php_stream_statbuf stat_ssb;
char *stat_sb_names[13]={"dev", "ino", "mode", "nlink", "uid", "gid", "rdev",
- "size", "atime", "mtime", "ctime", "blksize", "blocks"};
+ "size", "atime", "mtime", "ctime", "blksize", "blocks"};
if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &fp) == FAILURE) {
WRONG_PARAM_COUNT;
php_stream *srcstream = NULL, *deststream = NULL;
int ret = FAILURE;
- srcstream = php_stream_open_wrapper(src, "rb",
- STREAM_DISABLE_OPEN_BASEDIR | REPORT_ERRORS,
- NULL);
+ srcstream = php_stream_open_wrapper(src, "rb", STREAM_DISABLE_OPEN_BASEDIR | REPORT_ERRORS, NULL);
if (!srcstream) {
return ret;
}
- deststream = php_stream_open_wrapper(dest, "wb",
- ENFORCE_SAFE_MODE | REPORT_ERRORS,
- NULL);
+ deststream = php_stream_open_wrapper(dest, "wb", ENFORCE_SAFE_MODE | REPORT_ERRORS, NULL);
if (srcstream && deststream) {
ret = php_stream_copy_to_stream(srcstream, deststream, PHP_STREAM_COPY_ALL) == 0 ? FAILURE : SUCCESS;
php_stream *stream;
switch(ZEND_NUM_ARGS()) {
- case 2:
- if (zend_get_parameters_ex(2, &fd, &bytes) == FAILURE) {
- WRONG_PARAM_COUNT;
- }
- break;
+ case 2:
+ if (zend_get_parameters_ex(2, &fd, &bytes) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+ break;
- case 3:
- if (zend_get_parameters_ex(3, &fd, &bytes, &p_delim) == FAILURE) {
- WRONG_PARAM_COUNT;
- }
- convert_to_string_ex(p_delim);
- /* Make sure that there is at least one character in string */
- if (Z_STRLEN_PP(p_delim) < 1) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Third parameter must be a character");
- return;
- }
- /* use first character from string */
- delimiter = Z_STRVAL_PP(p_delim)[0];
- break;
+ case 3:
+ if (zend_get_parameters_ex(3, &fd, &bytes, &p_delim) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+ convert_to_string_ex(p_delim);
+ /* Make sure that there is at least one character in string */
+ if (Z_STRLEN_PP(p_delim) < 1) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Third parameter must be a character");
+ return;
+ }
+ /* use first character from string */
+ delimiter = Z_STRVAL_PP(p_delim)[0];
+ break;
- case 4:
- if (zend_get_parameters_ex(4, &fd, &bytes, &p_delim, &p_enclosure) == FAILURE) {
- WRONG_PARAM_COUNT;
- }
- convert_to_string_ex(p_delim);
- /* Make sure that there is at least one character in string */
- if (Z_STRLEN_PP(p_delim) < 1) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Third parameter must be a character");
- return;
- }
- /* use first character from string */
- delimiter = Z_STRVAL_PP(p_delim)[0];
+ case 4:
+ if (zend_get_parameters_ex(4, &fd, &bytes, &p_delim, &p_enclosure) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+ convert_to_string_ex(p_delim);
+ /* Make sure that there is at least one character in string */
+ if (Z_STRLEN_PP(p_delim) < 1) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Third parameter must be a character");
+ return;
+ }
+ /* use first character from string */
+ delimiter = Z_STRVAL_PP(p_delim)[0];
- convert_to_string_ex(p_enclosure);
- /* use first character from string */
- enclosure = Z_STRVAL_PP(p_enclosure)[0];
-
- break;
+ convert_to_string_ex(p_enclosure);
+ /* use first character from string */
+ enclosure = Z_STRVAL_PP(p_enclosure)[0];
+ break;
- default:
- WRONG_PARAM_COUNT;
- /* NOTREACHED */
- break;
+ default:
+ WRONG_PARAM_COUNT;
+ /* NOTREACHED */
+ break;
}
php_stream_from_zval(stream, fd);
/* normal character */
*tptr++ = *bptr++;
- if (*bptr == 0) { /* embedded line end? */
- *(tptr-1)=0; /* remove space character added on reading line */
- strcat(temp, lineEnd); /* add the embedded line end to the field */
+ if (*bptr == 0) { /* embedded line end? */
+ *(tptr-1)=0; /* remove space character added on reading line */
+ strcat(temp, lineEnd); /* add the embedded line end to the field */
/* read a new line from input, as at start of routine */
memset(buf, 0, len+1);
temp = erealloc(temp, temp_len+1);
bptr = buf;
tptr = buf + strlen(buf) -1;
- while (isspace((int)*(unsigned char *)tptr) && (*tptr!=delimiter) && (tptr > bptr))
+ while (isspace((int)*(unsigned char *)tptr) && (*tptr!=delimiter) && (tptr > bptr)) {
tptr--;
+ }
tptr++;
strcpy(lineEnd, tptr);
- *tptr++ = ' ';
+ *tptr++ = ' ';
*tptr = 0;
- tptr = temp; /* reset temp pointer to end of field as read so far */
- while (*tptr)
+ tptr = temp; /* reset temp pointer to end of field as read so far */
+ while (*tptr) {
tptr++;
+ }
}
}
}
} else {
/* 2B. Handle non-enclosure field */
- while ((*bptr != delimiter) && *bptr)
+ while ((*bptr != delimiter) && *bptr) {
*tptr++ = *bptr++;
+ }
*tptr=0; /* terminate temporary string */
if (strlen(temp)) {
tptr--;
- while (isspace((int)*(unsigned char *)tptr) && (*tptr!=delimiter))
+ while (isspace((int)*(unsigned char *)tptr) && (*tptr!=delimiter)) {
*tptr-- = 0; /* strip any trailing spaces */
+ }
}
- if (*bptr == delimiter)
+ if (*bptr == delimiter) {
bptr++;
+ }
}
/* 3. Now pass our field back to php */
memset((void *)buff, 0, META_DEF_BUFSIZE + 1);
while (md->ulc || (!php_stream_eof(md->stream) && (ch = php_stream_getc(md->stream)))) {
- if(php_stream_eof(md->stream))
+ if(php_stream_eof(md->stream)) {
break;
+ }
if (md->ulc) {
ch = md->lc;
md->ulc = 0;
}
- switch (ch) {
- case '<':
- return TOK_OPENTAG;
- break;
- case '>':
- return TOK_CLOSETAG;
- break;
- case '=':
- return TOK_EQUAL;
- break;
- case '/':
- return TOK_SLASH;
- break;
- case '\'':
- case '"':
- compliment = ch;
- md->token_len = 0;
- while (!php_stream_eof(md->stream) &&
- (ch = php_stream_getc(md->stream)) &&
- ch != compliment && ch != '<' && ch != '>') {
-
- buff[(md->token_len)++] = ch;
-
- if (md->token_len == META_DEF_BUFSIZE)
- break;
- }
-
- if (ch == '<' || ch == '>') {
- /* Was just an apostrohpe */
- md->ulc = 1;
- md->lc = ch;
- }
+ switch (ch) {
+ case '<':
+ return TOK_OPENTAG;
+ break;
- /* We don't need to alloc unless we are in a meta tag */
- if (md->in_meta) {
- md->token_data = (char *) emalloc(md->token_len + 1);
- memcpy(md->token_data, buff, md->token_len+1);
- }
+ case '>':
+ return TOK_CLOSETAG;
+ break;
- return TOK_STRING;
- break;
- case '\n':
- case '\r':
- case '\t':
- break;
- case ' ':
- return TOK_SPACE;
- break;
- default:
- if (isalnum(ch)) {
- md->token_len = 0;
- buff[(md->token_len)++] = ch;
- while (!php_stream_eof(md->stream) &&
- (ch = php_stream_getc(md->stream)) &&
- (isalnum(ch) || strchr(PHP_META_HTML401_CHARS, ch))) {
+ case '=':
+ return TOK_EQUAL;
+ break;
+ case '/':
+ return TOK_SLASH;
+ break;
+ case '\'':
+ case '"':
+ compliment = ch;
+ md->token_len = 0;
+ while (!php_stream_eof(md->stream) && (ch = php_stream_getc(md->stream)) && ch != compliment && ch != '<' && ch != '>') {
buff[(md->token_len)++] = ch;
- if (md->token_len == META_DEF_BUFSIZE)
+ if (md->token_len == META_DEF_BUFSIZE) {
break;
+ }
}
- /* This is ugly, but we have to replace ungetc */
- if (!isalpha(ch) && ch != '-') {
+ if (ch == '<' || ch == '>') {
+ /* Was just an apostrohpe */
md->ulc = 1;
md->lc = ch;
}
- md->token_data = (char *) emalloc(md->token_len + 1);
- memcpy(md->token_data, buff, md->token_len+1);
+ /* We don't need to alloc unless we are in a meta tag */
+ if (md->in_meta) {
+ md->token_data = (char *) emalloc(md->token_len + 1);
+ memcpy(md->token_data, buff, md->token_len+1);
+ }
- return TOK_ID;
- } else {
- return TOK_OTHER;
- }
- break;
+ return TOK_STRING;
+ break;
+
+ case '\n':
+ case '\r':
+ case '\t':
+ break;
+
+ case ' ':
+ return TOK_SPACE;
+ break;
+
+ default:
+ if (isalnum(ch)) {
+ md->token_len = 0;
+ buff[(md->token_len)++] = ch;
+ while (!php_stream_eof(md->stream) && (ch = php_stream_getc(md->stream)) && (isalnum(ch) || strchr(PHP_META_HTML401_CHARS, ch))) {
+ buff[(md->token_len)++] = ch;
+
+ if (md->token_len == META_DEF_BUFSIZE) {
+ break;
+ }
+ }
+
+ /* This is ugly, but we have to replace ungetc */
+ if (!isalpha(ch) && ch != '-') {
+ md->ulc = 1;
+ md->lc = ch;
+ }
+
+ md->token_data = (char *) emalloc(md->token_len + 1);
+ memcpy(md->token_data, buff, md->token_len+1);
+
+ return TOK_ID;
+ } else {
+ return TOK_OTHER;
+ }
+ break;
}
}