Commit Graph

32 Commits

Author SHA1 Message Date
Antony Dovgal
1417222aee initialize factory 2006-05-19 10:23:43 +00:00
Antony Dovgal
78fdeb1acc fix CS and prevent NULL dereference 2006-04-13 18:14:14 +00:00
Sara Golemon
d05836890b Preserve full name of filter for use in stream_get_meta_data() 2006-04-13 04:41:08 +00:00
Sara Golemon
0b84c73635 Allow http:// wrapper to automatically apply correct unicode.from.* filter based on content-type header 2006-04-12 22:40:56 +00:00
Sara Golemon
30a2bd1d11 Another (and hopefully last) major streams commit.
This moves unicode conversion to the filter layer
(rather than at the lower streams layer)
unicode_filter.c has been moved from ext/unicode to main/streams
as it's an integral part of the streams unicode conversion process.

There are now three ways to set encoding on a stream:

(1) By context
$ctx = stream_context_create(NULL,array('encoding'=>'latin1'));
$fp = fopen('somefile', 'r+t', false, $ctx);

(2) By stream_encoding()
$fp = fopen('somefile', 'r+');
stream_encoding($fp, 'latin1');

(3) By filter
$fp = fopen('somefile', 'r+');
stream_filter_append($fp, 'unicode.from.latin1', STREAM_FILTER_READ);
stream_filter_append($fp, 'unicode.to.latin1', STREAM_FILTER_WRITE);

Note: Methods 1 and 2 are convenience wrappers around method 3.
2006-03-29 01:20:43 +00:00
Andrei Zmievski
1709428494 Implement to-Unicode conversion error behavior. Note the adjusted APIs. 2006-03-26 06:19:24 +00:00
Andrei Zmievski
930bde5897 * Remove unicode.from_error_mode and unicode.from_subst_char from INI
settings.
* Add unicode_set_error_mode() and unicode_set_subst_char() functions to
  manipulate these global settings.
2006-03-26 01:48:33 +00:00
Andrei Zmievski
abf44bf9df This is probably not a test.. 2006-03-24 21:25:44 +00:00
Sara Golemon
0260dfc9b1 Hook into new unicode conversion error handling API 2006-03-24 20:21:48 +00:00
Sara Golemon
48798021b5 Refactor streams layer for PHP6.
Don't be frightened by the size of this commit.
A significant portion of it is restoring the read buffer semantics back
to what PHP4/5 use.  (Or a close aproximation thereof).

See main/streams/streams.c and ext/standard/file.c for a set of
UTODO comments covering work yet to be done.
2006-03-13 04:40:11 +00:00
Marcus Boerger
095c66e715 - Fix two warnings
# Here fixing warnings reveals that it often enough means fixing errors
2006-01-12 19:21:36 +00:00
Marcus Boerger
d6e15bf75e - Fix warning 2006-01-12 19:13:50 +00:00
Ilia Alshanetsky
d2397a9301 MFB51: Fixed bug #35916 (Duplicate calls to stream_bucket_append() lead to
a crash).
2006-01-10 16:14:45 +00:00
foobar
251c5173fd bump year and license version 2006-01-01 13:10:10 +00:00
Andrei Zmievski
264cec8be6 Unicode support. 2005-08-11 23:36:07 +00:00
foobar
23e671a51e - Bumber up year 2005-08-03 14:08:58 +00:00
Sara Golemon
29ede46872 BugFix #31137 stream_filter_remove() segfaults when stream already closed 2005-03-29 04:02:03 +00:00
Sara Golemon
34550382d8 Added stream_filter_remove() to cancel a stream filter.
Register filters as resources when
instantiated by stream_filter_(ap|pre)pend().

Export php_stream_filter_flush() internal function to wind buffered data
out of a particular filter until consumed by a later filter or sent to
stream->readbuffer or stream->ops->write()
2004-09-14 03:48:17 +00:00
Sara Golemon
9cd4320b65 Allocating hash tables should be done via macro, not directly 2004-09-13 21:07:22 +00:00
Sara Golemon
a2c24ae90e BugFix#28868 (Part Two): This fixes thread unsafety in the userspace
filters which relates to the fix just applied for userspace wrappers.
2004-06-21 21:08:05 +00:00
Wez Furlong
dd9ac710f1 Fix silly mistake.
Thanks Antony :)
2004-05-26 21:19:21 +00:00
Sara Golemon
fac9416797 Only wind filters when appending to the read chain. 2004-04-01 03:52:34 +00:00
Sara Golemon
72616e6eae BugFix#27619
Filters not applied to pre-buffered stream data.
(esp. http:// streams)
2004-03-31 23:48:59 +00:00
Andi Gutmans
dbeb4158d2 - A belated happy holidays and PHP 5 2004-01-08 08:18:22 +00:00
Sara Golemon
495fd01ca4 Stop looking once we've found a matching filter. 2003-10-28 23:29:16 +00:00
Sara Golemon
c9b49af990 Extend Filter matching to check wildcards at multiple levels.
Ex:  foo.bar.baz.bomb
Searches:
     foo.bar.baz.bomb itself,
     foo.bar.baz.*,
     foo.bar.*, and
     foo.*

Also changed tempvar "char wildcard[128];" to an estrdup() to
deal with potential filternames longer than 127 bytes.
2003-10-28 21:52:59 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Moriyoshi Koizumi
49b43ad115 Changed stream filter factory to be capable of accepting a zval as a parameter
instead of a string
2003-04-16 14:30:25 +00:00
foobar
8e3f23e3c0 ws fixes + missing $Id$ tags, headers added 2003-02-19 08:40:19 +00:00
Wez Furlong
952d5f548e TSRMLS! 2003-02-18 01:39:26 +00:00
Wez Furlong
32165a5546 Implement new filter API, stage 1.
This breaks user-space filters (for the time being), and those
weird convert.* filters in ext/standard/filters.c

The filters stack has been separated into one chain for read and one chain
for write.

The user-space stream_filter_append() type functions currently only operate
on the read chain. They need extending to work with the write chain too.
2003-02-18 01:22:21 +00:00
Wez Furlong
2cc68ad7ad Move streams files around a bit, to ease maintenance.
I will update the win32 .dsp in a moment.
2003-02-16 22:19:28 +00:00