Compare commits

...
440 Commits
Author SHA1 Message Date
SVN Migration 969b514721 This commit was manufactured by cvs2svn to create tag 'php_4_3_11'. 2005-03-30 14:18:38 +00:00
Ilia Alshanetsky 9b736b4d22 Tag 4.3.11 2005-03-30 14:18:37 +00:00
Edin Kadribasic 22d260995e Updated install instructions from the documentation project (Philip Olson) 2005-03-30 13:15:34 +00:00
Ilia Alshanetsky 547fa41064 patch was reverted. 2005-03-29 17:32:18 +00:00
Greg Beaver ff707e14e2 update to current bundle ideal 2005-03-28 17:02:29 +00:00
Greg Beaver 152fdf118a merge in PEAR 1.3.5 2005-03-28 16:57:01 +00:00
Ilia Alshanetsky 0674cfae43 MFH: revert copy patch. 2005-03-27 15:53:59 +00:00
Moriyoshi Koizumi 3ae4e31064 - Temporary reversion as per release masters' requests. 2005-03-23 23:57:42 +00:00
Moriyoshi Koizumi fd423c6b1d - Reorder. 2005-03-23 23:32:12 +00:00
Moriyoshi Koizumi db52703bc2 - MFH: fix bug #32311 (mb_encode_mimeheader() does not properly escape
characters).
2005-03-23 23:30:18 +00:00
Ilia Alshanetsky 3fcf9b11be Back to dev. 2005-03-23 21:33:56 +00:00
Ilia Alshanetsky c3738fdca7 4.3.11RC2 2005-03-23 20:42:33 +00:00
foobar d6e0e5f7ea MFH 2005-03-23 00:39:58 +00:00
Edin Kadribasic df26ef5475 Fix exif win32 build 2005-03-22 22:07:04 +00:00
foobar eeba2141bc MFH 2005-03-22 16:03:28 +00:00
foobar 2285d9bdcc MFH 2005-03-22 15:39:42 +00:00
Antony Dovgal b951e33f8d MFH: fix #28803 (enabled debug causes bailout errors with CLI on AIX
because of fflush() called on already closed filedescriptor)
2005-03-22 15:09:36 +00:00
Derick Rethans 6a1c9f5810 - MFH: Changed to reflect "current practise" 2005-03-22 09:05:48 +00:00
Zeev Suraski 874f07c893 MFH 2005-03-20 09:04:03 +00:00
Antony Dovgal 65b3d94fac MFH: fix segfault in bzopen() 2005-03-19 13:56:56 +00:00
Greg Beaver 747d019bd3 update to Archive_Tar 1.3.1 2005-03-18 01:58:20 +00:00
Moriyoshi Koizumi 4b4f30017b - Add missing entries. 2005-03-18 00:49:32 +00:00
Ilia Alshanetsky 06c2ce0a0d MFH: Fixed build of exif extension on win32. 2005-03-17 17:21:02 +00:00
Ilia Alshanetsky a35b6ffd5d MFH: Fixed compiler warning on win32. 2005-03-17 17:16:53 +00:00
Rob Richards 8224851858 BFN 2005-03-17 13:13:08 +00:00
Rob Richards fab647746c Fixed bug #32340 (insert_before($node,NULL) does not return) 2005-03-17 13:11:47 +00:00
foobar fd1280c6ef remove unused subst 2005-03-17 08:13:21 +00:00
foobar f6dd7f00db fix build 2005-03-17 08:13:03 +00:00
Harrie Hazewinkel 5e97bf3de8 Adding SNMPv2 community based (i.e. protocol version) functions. 2005-03-16 16:19:59 +00:00
foobar 4b012f7244 MFH: - Remove these relics from era when TSRM was optional. 2005-03-16 06:37:03 +00:00
Ilia Alshanetsky e2b2ea667f MFH: Fixed possible usage of str without being initialized. 2005-03-15 00:30:05 +00:00
Greg Beaver 6dd737d8ea add go-pear-list (probably won't do anything, but it's worth a try) 2005-03-15 00:11:47 +00:00
foobar 7380c23ab2 MFH 2005-03-14 21:11:45 +00:00
foobar c3894108b6 MFH: - Fixed bug #18613 (Multiple OUs in x509 certificate not handled properly) 2005-03-14 21:01:02 +00:00
Zeev Suraski dde65251f7 Fix an age old bug in parsing paths when reading
INI values from the registry
2005-03-14 12:41:18 +00:00
foobar 1be9cff9d3 MFH: - Fixed bug #30609 (cURL functions bypass open_basedir) 2005-03-14 09:03:09 +00:00
Ilia Alshanetsky 91855505b5 Back to dev. 2005-03-13 21:54:56 +00:00
Ilia Alshanetsky 36c0a0859a 4.3.11RC1 2005-03-13 20:18:44 +00:00
Ilia Alshanetsky 49de3e701c MFH: Final set of fixes for bug #27633. 2005-03-10 23:38:18 +00:00
Marcus Boerger 73d689f230 - MFH rename 2005-03-10 14:20:55 +00:00
Joe Orton 6cd9eb9736 MFH: - Fixed bug #31717: Reject PATH_INFO if "AcceptPathInfo off" is used. 2005-03-10 11:39:04 +00:00
Marcus Boerger 1147c223ad - BFN 2005-03-10 02:04:17 +00:00
Marcus Boerger 16a2a11bee - MFH 2005-03-10 02:01:40 +00:00
Ilia Alshanetsky 47a02a0bdf MFH: Fixes to ascii downloads on win32. 2005-03-09 20:53:01 +00:00
Derick Rethans afce7aafae - Fixed bug #28067 (partially incorrect utf8 to htmlentities mapping). (Derick,
Benjamin Greiner)
2005-03-09 10:11:15 +00:00
foobar 827f18e200 MFH 2005-03-08 21:45:51 +00:00
foobar 75db37c82c MFH 2005-03-08 21:22:20 +00:00
foobar 44abd52206 RBFN 2005-03-07 18:14:41 +00:00
Zeev Suraski 166713abac Remove test case for a Won't Fix bug 2005-03-07 16:55:21 +00:00
Ilia Alshanetsky 3dffe40cc4 MFH: Fixed bug #29424 (width and height inverted for JPEG2000 files). 2005-03-06 17:05:41 +00:00
Rasmus Lerdorf 574306adf4 wtf? 2005-03-05 18:30:47 +00:00
foobar a00bdd925a MFH 2005-03-04 15:16:27 +00:00
Johannes Schlüter 855224c8e6 - Remove <b>-Tag from error message 2005-03-03 10:41:19 +00:00
Zeev Suraski 4c452ea58f MFH 2005-03-03 09:58:20 +00:00
Ilia Alshanetsky 6b0c663c40 MFH: Fixed bug #32160 (file truncation in copy() when source & destination are
the same).
2005-03-03 03:31:59 +00:00
foobar 3c20b13648 typofix 2005-03-02 21:46:45 +00:00
Stefan Esser b7d81e26b1 MFH 2005-03-02 18:23:49 +00:00
foobar d8f6c856af touch 2005-03-01 21:56:40 +00:00
Ilia Alshanetsky 7aa8901413 MFH: Fixed bug #31792 (getrusage() does not provide ru_nswap value). 2005-03-01 21:34:30 +00:00
Andrei Zmievski 0e230a77d0 Allow = sign in long option argument.
Fixes PEAR bug #1831.
2005-03-01 18:19:48 +00:00
Stefan Esser 62ef5f3566 MFH 2005-03-01 13:53:35 +00:00
Antony Dovgal 3fdc0745f1 MFH: checks for negative values to gmp_sqrt(), gmp_powm(), gmp_sqrtrem()
and gmp_fact() to prevent SIGFPE
changed zend_error() to php_error_docref()
2005-03-01 13:18:31 +00:00
foobar 802b4b00bb MFH: - Fixed bug #31672 (</script> not considered closing tag if
MFH:   preceded by one-line comment
2005-03-01 02:22:42 +00:00
Stefan Esser 342bafdb2f MFH 2005-02-28 16:33:23 +00:00
Frank M. Kromann c0bb17abcc FreeTDS does not have support for DBTEXTLIMIT 2005-02-25 23:23:54 +00:00
Rob Richards ed3db800b6 no message 2005-02-25 22:13:37 +00:00
Antony Dovgal a085abe036 MFH: allow building oci8 as shared 2005-02-25 11:33:24 +00:00
Marcus Boerger 1679c7b062 - MFH 2005-02-24 20:54:18 +00:00
Ilia Alshanetsky 80a2e3b4be pack() issues were resolved. 2005-02-23 22:40:18 +00:00
Moriyoshi Koizumi 19b28876dc - MFH: Synch with the latest checkouts. (include fix by Joe Orton. Thanks.) 2005-02-23 13:36:14 +00:00
Ilia Alshanetsky 897ac11952 MFH: Fixed bug #31288 (Possible crash in mysql_fetch_field(), if
mysql_list_fields() was not called previously).
2005-02-22 15:00:49 +00:00
foobar 8f1cde33ab MFH: nuke unused variables when PCRE is not compiled statically into PHP 2005-02-22 14:46:24 +00:00
Moriyoshi Koizumi c8869bea69 - MFH: fix bug #32063 (mb_convert_encoding ignores named entity 'alpha') 2005-02-22 10:09:58 +00:00
Stanislav Malyshev 0f97c6a0e3 packport fix from PHP5: read post data if they wreen't read
# this is needed for FCGI correct functioning
2005-02-21 12:29:02 +00:00
Moriyoshi Koizumi 1816823b2e - MFH: fix bug #30573 (compiler warning due to invalid type cast). 2005-02-21 10:15:03 +00:00
Moriyoshi Koizumi b8c4f047cd - MFH: fix compiler warnings. 2005-02-21 08:03:48 +00:00
Moriyoshi Koizumi c8d6f45983 - MFH: add testcases for bug #28220, #30549 and #31911. 2005-02-21 07:46:35 +00:00
SVN Migration dd21c3fd8d This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2005-02-21 07:45:38 +00:00
Moriyoshi Koizumi ebc27e8dce - Upgrade libmbfl (fixers bug #28220, #30549 and #31911). 2005-02-21 07:10:14 +00:00
SVN Migration 2ef3c88773 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2005-02-20 22:20:24 +00:00
Derick Rethans c811399720 - Added test case for bug #32021. 2005-02-18 13:41:28 +00:00
SVN Migration 631b23ce67 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2005-02-18 13:37:24 +00:00
Andi Gutmans a410c71e10 - Commit NEWS Entry for:
- Fixed bug #31960 (msql_fetch_row() and msql_fetch_array() dropping columns
  with NULL values). (Daniel Convissor)
2005-02-17 22:08:29 +00:00
Andi Gutmans 7faaa41ec2 - MFH 2005-02-17 20:14:03 +00:00
Ilia Alshanetsky 1f5baf17a0 MFH: Fixed bug #27633 (Double \r problem on ftp_get in ASCII mode on Win32). 2005-02-17 15:38:34 +00:00
foobar 243b5f2300 ws/cs 2005-02-17 09:26:12 +00:00
Ilia Alshanetsky bce951557b MFH: MFH: Fixed bug #31440 ($GLOBALS can be overwritten via GPC when
register_globals is enabled).
2005-02-17 04:46:52 +00:00
foobar 77d8f41d03 MFH: - Compile fix for systems without int32_t typedef 2005-02-17 04:45:21 +00:00
foobar 6c1566eec1 MFH:- Fixed bug #29554 (compile failure when using --with-pspell=/usr/local) 2005-02-17 03:51:50 +00:00
Edin Kadribasic fc666e9a95 MFH 2005-02-16 12:23:06 +00:00
Ilia Alshanetsky 8c4df4a8df MFH: Fixed bug #31986 (Max nesting limit set too low). 2005-02-15 21:56:39 +00:00
foobar 59e8612456 MFH 2005-02-15 08:52:33 +00:00
Marcus Boerger 689a54513c - MFH 2005-02-15 08:12:29 +00:00
Ilia Alshanetsky 5d455016e5 MFH: file upload prunning. 2005-02-15 00:28:39 +00:00
foobar 3f0ed932d3 MFH 2005-02-14 23:46:07 +00:00
foobar 1d7164f92f Fix typo 2005-02-14 22:18:46 +00:00
foobar 5b7fbcf658 MFH: - Removed duplicate error + reset error in new sockets 2005-02-14 22:17:30 +00:00
foobar aeec3f4abc MFH: nuke non-existing ini option 2005-02-14 08:26:10 +00:00
foobar ae0e54dfee MFH: nuke unused code 2005-02-14 08:23:20 +00:00
foobar 2b4628c336 MFH: missing $Id$ tags 2005-02-13 17:54:56 +00:00
foobar 3f076e4814 MFH: - Added the alias session_commit() (more intuitive name for session_write_close())
MFH: - Partial sync of the file by adding macro SESSION_CHECK_ACTIVE_STATE
2005-02-13 17:51:32 +00:00
foobar 6d640d80dc MFH 2005-02-12 18:30:03 +00:00
foobar 43796d1f56 - Fixed bug #31936 (set_h_errno() is redefined incompatibly) 2005-02-12 18:16:04 +00:00
foobar e2d002e7c0 Revert 2005-02-11 03:34:04 +00:00
foobar 028b68cc1e Revert broken patch 2005-02-11 02:12:30 +00:00
foobar 3d43f71772 MFH: - Multiple fixes for nasty leaks in ZTS mode 2005-02-10 22:50:47 +00:00
foobar a3623adb8c - Fixed bug #31920 (zend_strtod.c error: conflicting types for 'int8_t') 2005-02-10 22:20:27 +00:00
Frank M. Kromann c0b28e5484 MFH: change return value from false to true, when a statement was executed with warnings 2005-02-09 19:33:32 +00:00
Frank M. Kromann 9dc8030478 MFH: Check for warnings and return the warning texts 2005-02-09 18:50:49 +00:00
Rasmus Lerdorf b935947ca8 MFH fix for bug #31901 2005-02-09 16:23:49 +00:00
Ilia Alshanetsky e2381946db MFH: Fixed bug #31527 (crash in msg_send() when non-string is stored without
being serialized).
2005-02-07 22:32:31 +00:00
Antony Dovgal 32214bf3b2 MFH: fix leaks in ext/filepro 2005-02-07 13:33:04 +00:00
foobar 3da25b53bc MFH: - Fixed bug #31858 (--disable-cli does not force --without-pear) 2005-02-07 12:51:52 +00:00
foobar 146ca108b0 fix test 2005-02-04 23:24:22 +00:00
Derick Rethans 163099f2a9 - MFH: Fixed bug #31754 (dbase_open() fails for mode = 1). (Mehdi, Derick) 2005-02-04 14:29:21 +00:00
SVN Migration 4bfa2b800e This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2005-02-04 14:28:51 +00:00
foobar 4db1177ee1 MFH: Fixed bug #31842 (*date('r') does not return RFC2822 conforming date string). 2005-02-04 13:09:24 +00:00
foobar bfccdca1d8 MFH: - Fixed bug #28227 (PHP CGI depends upon non-standard SCRIPT_FILENAME)
# patch by: lukem at NetBSD dot org
2005-02-04 10:42:01 +00:00
Ilia Alshanetsky c0eef1a170 MFH: Proper fix for bug #31796 . 2005-02-04 00:22:03 +00:00
Ilia Alshanetsky a8a212dbd8 MFH: Fixed bug #31796 (readline completion handler does not handle empty
return values).
2005-02-03 22:46:55 +00:00
foobar 91c962da95 MFH: Fix buildconf with BSD make 2005-02-03 17:43:04 +00:00
foobar 73b74e1418 - MFH: Fixed bug #28804 (ini-file section parsing pattern is buggy). 2005-02-03 03:02:07 +00:00
Ilia Alshanetsky 68574f5cdd MFH: Fixed bug #31514 (open_basedir uses path_translated rather then cwd for .
translation).
2005-02-02 23:44:07 +00:00
Ilia Alshanetsky 59e73f08ff MFH: Fixed bug #31797 (exif_read_data() uses too low nesting limit). 2005-02-01 23:29:01 +00:00
Ilia Alshanetsky 917a493fae MFH: Final version of filename upload handling. 2005-02-01 02:33:25 +00:00
Ilia Alshanetsky 1afbc301f1 MFH: Fix handling of INF/NAN in unserialize(). 2005-01-30 16:39:55 +00:00
Antony Dovgal 81e281f58e improve CS & error messages 2005-01-28 16:50:38 +00:00
Antony Dovgal 36872f7754 MFB: explain why ftok() failed 2005-01-28 16:35:10 +00:00
Antony Dovgal 2a853b7065 MFH: change return type from NULL to FALSE when parameter parsing failed 2005-01-28 01:39:42 +00:00
Frank M. Kromann db7b8083c5 MFH: Hack to fix crash caused by FBCAccess not returning errors when creating an index that exists in the database. 2005-01-27 20:22:27 +00:00
Ilia Alshanetsky a1b9bf56cb MFH: Fixed bug #31705 (parse_url() does not recognize http://foo.com#bar) 2005-01-27 16:38:30 +00:00
Derick Rethans c61f31defe - MFH: There is no --with-apache2, only apxs2 2005-01-26 18:03:30 +00:00
Ilia Alshanetsky ce5c630614 MFH: Fixed bug #31699 (unserialize() float problem on non-English locales). 2005-01-26 16:56:14 +00:00
Ilia Alshanetsky 8e93d757b3 MFH: Fixed bug #29733 (printf() handles repeated placeholders wrong). 2005-01-26 00:03:19 +00:00
foobar 214091ee77 massage 2005-01-25 23:42:38 +00:00
Ilia Alshanetsky 13c9761b16 MFH: Fixed bug #31465 (False warning in unpack() when working with *). 2005-01-25 22:52:19 +00:00
Andrei Zmievski 147db82b24 Fix several egregious leaks in ext/browscap and sapi/embed. 2005-01-25 21:26:42 +00:00
Antony Dovgal 379f891a21 MFH: fix segfault in imap_bodystruct() 2005-01-25 14:23:37 +00:00
foobar 0926b0d102 MFH: - Fixed bug #31684 (dio_tcsetattr(): misconfigured termios settings) 2005-01-25 13:43:37 +00:00
foobar d16912b12a MFH: - Fix macosx shared extension build 2005-01-25 13:03:06 +00:00
foobar 440eae3412 MFH: - Return of the automake requirement 2005-01-25 12:55:55 +00:00
Ilia Alshanetsky 72818b5c0d MFH: Use multibyte specific code for handling files and generic basename
based code in all other instances.
2005-01-24 23:52:27 +00:00
Moriyoshi Koizumi a10855c574 - MFH: revert irrelevant part. 2005-01-24 16:47:53 +00:00
Antony Dovgal 164cff8586 MFH: fix msg_recieve() & add test 2005-01-24 14:23:37 +00:00
SVN Migration bf41267c52 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2005-01-24 14:19:54 +00:00
Joe Orton 54a1e6c07a MFH: Fixed regression #31645 - only flush before running the subrequest. 2005-01-24 11:48:35 +00:00
Ilia Alshanetsky f04cf8344c Fixed compiler warning. 2005-01-23 20:17:27 +00:00
foobar 70ae8d742a MFH: - Memory leak fixes from ZE2 + HEAD CLI 2005-01-22 20:36:35 +00:00
foobar e384dee1a2 MFH: - Remove also autom4te.cache dir with phpize --clean 2005-01-22 20:30:15 +00:00
foobar 8463cfb5e3 MFH: - Typofix + removed unnecessary unsets caused by it 2005-01-22 01:37:12 +00:00
foobar f9e8717683 massage news 2005-01-22 01:19:48 +00:00
Andrei Zmievski 19ec49afc1 *** empty log message *** 2005-01-21 23:48:33 +00:00
Andrei Zmievski 3666ad8b1a Protect against corrupt EXIF headers that feature unlimited IFD tag
nesting.
2005-01-21 23:47:06 +00:00
Stefan Esser 75cb09dec4 MFH 2005-01-21 16:04:54 +00:00
Derick Rethans 3d37f4d2cd - MFH: php_error_docref() adoption. 2005-01-21 10:34:46 +00:00
Ilia Alshanetsky 7e76730796 Fixed bug #28086 (crash inside overload() function). 2005-01-21 00:32:18 +00:00
Edin Kadribasic e3c883e74b Fixed bug #29492 - missing ldap_parse_reference() 2005-01-20 22:48:13 +00:00
Antony Dovgal 6509c6edc7 fix error message =/ 2005-01-20 18:46:14 +00:00
Antony Dovgal c4bef7c8a1 MFH: fix bug #31623 (OCILogin does not support password grace period) 2005-01-20 18:44:10 +00:00
Antony Dovgal 27136014a4 MFH: fix segfault in imap_sort() 2005-01-20 18:10:07 +00:00
Ilia Alshanetsky 4ff3a50a06 MFH: Fixed bug #31398 (When magic_guotes_gpc are enabled filenames with '
get cutoff).
2005-01-20 17:57:41 +00:00
Antony Dovgal e9b08d1631 MFH: fix segfault in imap_headerinfo() when fromlength or subjectlength are less than 0
+ fix protos
2005-01-20 14:18:10 +00:00
Antony Dovgal 41491a5199 MFH: fix typos in error messages 2005-01-20 10:08:45 +00:00
Antony Dovgal c45f9ec668 MFH: fix typos in error messages & resource name 2005-01-20 10:06:31 +00:00
foobar 6dcfd9d13f MFH: Removed obsolete AC_PROG_RANLIB 2005-01-20 01:46:57 +00:00
foobar e5a163091e MFH: - Changed phpize not to require automake and libtool. (Jani)
MFH: - Fixed build system to always use bundled libtool files. (Jani)
MFH: - Rewrote of phpize routines
2005-01-20 01:43:19 +00:00
foobar 09e807d295 MFH: Added --debug option to buildconf 2005-01-19 23:04:21 +00:00
foobar f0baa2345b Revert the multiple autoconf versions patch 2005-01-19 22:27:59 +00:00
Ilia Alshanetsky fc4ccde386 MFH: Stricter cc header check 2005-01-19 18:54:57 +00:00
SVN Migration 1b26a19293 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2005-01-19 17:52:33 +00:00
foobar b478e36dba BFN 2005-01-19 17:41:00 +00:00
foobar f056a94455 MFH: - Fixed bug #28976 (use From: from headers if sendmail_from is empty) 2005-01-19 17:38:41 +00:00
foobar c79b0caf03 MFH: - Fix the pic patch 2005-01-19 17:36:21 +00:00
foobar cd2456bc76 MFH: - WS & CS fixes
MFH: - php_error -> php_error_docref
MFH: - Removed pointless checks (array_init, emalloc, etc.)
MFH: - Force ldapv3 for ldap_start_tls()
2005-01-19 00:28:49 +00:00
Ilia Alshanetsky be970c09b4 MFH: Fixed bug #31142 (crash, memory leak and data loss by imap_mail_compose). 2005-01-18 23:36:49 +00:00
Antony Dovgal 511e5c4385 MFH: add checks for libs & headers required by IBM DB2 2005-01-18 21:21:16 +00:00
Ilia Alshanetsky 9ccca60a1f MFH: Fixed bug #31480 (Possible infinite loop in imap_mail_compose()). 2005-01-18 16:34:04 +00:00
Ilia Alshanetsky aec129db7f MFH: Fixed bug #31479 (Fixed crash in chunk_split(), when chunklen > strlen). 2005-01-18 15:51:24 +00:00
foobar 2572c0a0e3 MFH: - Use FD_CLOEXEC with fcntl() and make sure it is always defined 2005-01-18 15:45:01 +00:00
Antony Dovgal 7447137453 MFH: fix bug #30430 (odbc_next_result() doesn't bind values and that results in segfault)
fix protos
2005-01-18 15:11:22 +00:00
foobar be64d7c3de MFH 2005-01-18 11:54:12 +00:00
foobar c0417eebe7 MFH: Add test for bug #31402 2005-01-18 11:37:37 +00:00
SVN Migration db10c7e0f1 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2005-01-18 11:36:45 +00:00
foobar 4dd9df846a - Files generated with re2c 0.9.2 2005-01-18 11:08:20 +00:00
foobar fdab057113 MFH: - Move hash table destruction to proper location 2005-01-18 11:01:21 +00:00
Magnus M��tt� 3d06228b53 Add test case for bug #30726. 2005-01-18 09:57:27 +00:00
SVN Migration b4996c4e6a This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2005-01-18 09:56:32 +00:00
Ilia Alshanetsky ba335a66ac MFH: Fixed bug #30726 (-.1 like numbers are not being handled correctly). 2005-01-18 00:31:26 +00:00
Ilia Alshanetsky 6029240086 Fixed bug #31580 (fgetcsv() problematic with "" escape sequences). 2005-01-18 00:14:56 +00:00
Antony Dovgal fc6b941f63 MFH: fix wierd DB2 issue 2005-01-17 18:12:06 +00:00
foobar 4a32bb0cbb MFZE2: - Fixed bug #31444 (Memory leak in zend_language_scanner.c) 2005-01-17 17:22:21 +00:00
foobar d6900eee6b MFH: - Added some sanity checks by changing to the parameter parsing API 2005-01-17 17:07:57 +00:00
foobar cba2b199cb MFH: CS / WS / proto fixes 2005-01-17 16:59:23 +00:00
Antony Dovgal b003639e70 MFH: fix leak 2005-01-17 15:07:46 +00:00
Joe Orton 5934470390 MFH - Fixed bug #31519: Set r->status_line to SAPI-provided status-line. 2005-01-17 12:36:44 +00:00
Stefan Esser 46e1055288 MFH: 64bit fixes 2005-01-17 12:28:08 +00:00
Stefan Esser 68b899703c Fix compiler warning. 2005-01-17 11:46:11 +00:00
Moriyoshi Koizumi 854b50e6e0 - MFH: Fix a critical bug that request-local settings leak to another request. 2005-01-16 15:56:05 +00:00
Stefan Esser bbd0a00aed MFH 2005-01-15 18:45:00 +00:00
foobar 7190976fe9 MFH: ws & proto fix 2005-01-15 04:35:40 +00:00
foobar d9da89ef29 MFH: - Fixed bug #31060 (imageftbbox() does not use linespacing parameter) 2005-01-14 23:08:48 +00:00
foobar 17ccfe0c42 MFH: - Fixed bug #30120 (imagettftext() and imagettfbbox() accept too many parameters) 2005-01-14 22:44:35 +00:00
foobar 3f191da6f1 MFH 2005-01-14 20:45:34 +00:00
foobar c1d8014e28 BFN 2005-01-14 04:45:32 +00:00
Ard Biesheuvel 6c8d41a8fc Fixed unregistered bug: corrupted 32-bit LONGs on 64-bit systems 2005-01-13 21:22:13 +00:00
Rasmus Lerdorf 7606d9483e Should probably note this 2005-01-11 22:33:08 +00:00
Moriyoshi Koizumi 5b10ee806f - MFH: Fix the fix 2005-01-11 20:59:27 +00:00
Moriyoshi Koizumi 9d701ce256 - MFH: fix htmlentities() / html_decode_entity() UTF-8 related bugs
initially reported by Kamesh Jayachandrana
# UTF-8 feature doesn't work in PHP 4.3 anyway, so I'm not going to add the
# testcase.
2005-01-11 20:50:23 +00:00
Joe Orton 15a00ec902 MFH: Fixed bug #30446 - virtual() includes files out of sequence,
work around 2.0 subrequest/internal redirect issue.
2005-01-11 14:09:56 +00:00
foobar 8391424f4d MFH: Fix ZTS build 2005-01-11 13:36:39 +00:00
foobar f835eba6b3 MFH: - Added check for IMAP 2004 versions 2005-01-11 04:56:57 +00:00
Antony Dovgal cba8f9ce99 MFH: fix Konstantin's last name 2005-01-10 21:38:56 +00:00
foobar 772260fa09 MFH: update test to include negative floats as strings too 2005-01-10 16:00:32 +00:00
foobar 2a28c3b94a MFH: - Fixed bug #28074 (FastCGI: stderr should be written in a FCGI stderr stream). 2005-01-10 15:39:20 +00:00
foobar eaf9597c04 - The pic/no-pic patch by Joe Orton. 2005-01-10 01:11:50 +00:00
foobar ef771fa4d1 Forgot this from the outside-source-dir patch 2005-01-09 23:47:33 +00:00
foobar 176a6e48ec MFH: - Fix outside-source-tree builds. Always include generated header files
with #include <some_header.h> to make sure the correct file is used.
2005-01-09 21:05:39 +00:00
Antony Dovgal 6f3bf7b276 BFN & end of cvs spam 2005-01-09 18:27:27 +00:00
Antony Dovgal c865371dc1 add skipif section 2005-01-09 18:21:25 +00:00
Antony Dovgal 8ba43faa20 MFH: add test 2005-01-09 18:18:18 +00:00
SVN Migration 9140025206 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2005-01-09 18:15:50 +00:00
Antony Dovgal 964e59d7d5 MFH: fix bug #31454 2005-01-09 17:57:50 +00:00
foobar 411f43f226 MFH: - Fix leaks with registered shutdown functions. 2005-01-09 16:30:22 +00:00
foobar 541d8e10bb MFH: - Fix memleak in ZTS mode 2005-01-09 16:12:23 +00:00
foobar 72249d7eb0 Remove done stuff 2005-01-09 00:18:06 +00:00
foobar 2d69dc25fe MFH: - Fix possible crash (PR#26223). Leaks remain. 2005-01-08 20:45:43 +00:00
foobar 4de08a612f MFH: - Fix some memory leaks 2005-01-08 12:02:50 +00:00
Antony Dovgal 2feb748513 MFH: remove duplicated include 2005-01-07 21:14:23 +00:00
foobar 1e9fbe762f BFN 2005-01-07 06:29:50 +00:00
foobar f772c8195a MFH: - Fixed bug #31055 (apache2filter: per request leak proportional to the full path of the request URI) 2005-01-07 06:28:36 +00:00
foobar 155e725a5e MFH: - Make sure $host_alias is never empty 2005-01-07 06:21:42 +00:00
Wez Furlong 040729e867 update by steph 2005-01-07 05:39:15 +00:00
Joe Orton bc95def9ca MFH: - Fixed bug #31413 (curl POSTFIELDS crashes on 64-bit platforms). 2005-01-06 10:34:03 +00:00
Ilia Alshanetsky e20661c622 Fixed test case. 2005-01-04 23:09:13 +00:00
foobar fc34db9f96 - Fix bug #31403 (php_hostconnect not defined as PHPAPI) 2005-01-04 10:35:56 +00:00
foobar 27e6105b7d BFN 2005-01-04 06:53:42 +00:00
foobar dbaa0bc367 MFH: - Fixed bug #31396 (compile fails with gd 2.0.33 without freetype) 2005-01-04 06:52:18 +00:00
Ilia Alshanetsky 76144335e9 MFH: Fixed bug #31371 (highlight_file() trims new line after heredoc). 2005-01-02 23:55:19 +00:00
Moriyoshi Koizumi eb701d3fba - MFH: add testcases for bug #29493 and #31213. 2005-01-02 06:52:06 +00:00
SVN Migration 6d8bba6a4a This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2005-01-02 06:51:04 +00:00
foobar 2614e6c26a Revert part of the previous commit: autoheader 2.13 does not have this option 2004-12-31 07:10:57 +00:00
Ilia Alshanetsky f2ede86923 Don't forget to init a variable. 2004-12-31 03:16:50 +00:00
Ilia Alshanetsky 8326f69ebf Detect libcrack with Kerberos 5 support built-in. 2004-12-31 03:10:59 +00:00
Ilia Alshanetsky 9c83000422 Fixed compiler warning when using newer versions of libzip. 2004-12-31 02:57:08 +00:00
Rasmus Lerdorf ac19bb8811 Remove a few more warnings. I don't think we need to scare people with
a warning about the cvsclean stuff.  We'll just tell them we are
running cvsclean.
2004-12-30 19:54:46 +00:00
Rasmus Lerdorf d327665b56 Slightly safer check here. 2004-12-30 15:43:52 +00:00
foobar 31705420ae - MFH: - Fixed bug #28930 (PHP sources pick wrong header files generated by bison) 2004-12-30 15:22:52 +00:00
foobar d4af6e030c MFH: Fix buildconf failure with autoconf > 2.13 2004-12-30 14:56:38 +00:00
foobar 86bcb9d8e6 MFH: - Fixed bug #31101 (missing kerberos header file path with --with-openssl) 2004-12-30 14:54:35 +00:00
foobar 912c7fc107 - Quote macro names in AC_DEFUN()
# Fixes also bug #29160
# for i in `grep -r -l AC_DEFUN *`; do perl -i -pe "s#AC_DEFUN\(([^\[])(.*)\,#AC_DEFUN([\1\2],#g" $i; done;
2004-12-30 07:02:19 +00:00
foobar f08edd43dc MFH: Fixed crash + leak 2004-12-30 05:33:53 +00:00
foobar eeb4106f00 - Fixed crap removal 2004-12-30 04:44:59 +00:00
Ilia Alshanetsky f6994812bd A leak is better(?) then a crash. 2004-12-30 04:38:40 +00:00
Ilia Alshanetsky 173630503a Fixed test case. 2004-12-30 04:11:56 +00:00
foobar f39b13f070 BFN 2004-12-30 01:01:54 +00:00
Ilia Alshanetsky 4f56135eb8 Fixed typo. 2004-12-29 21:56:57 +00:00
Ilia Alshanetsky 948be2022a MFH: Fixed compiler warnings. 2004-12-29 21:41:07 +00:00
Ilia Alshanetsky a2cef56c12 MFH: Fixed memory leaks. 2004-12-29 21:34:09 +00:00
Ilia Alshanetsky 7d1bab90e7 Don't perform pointless operations (MFH5). 2004-12-29 21:24:00 +00:00
Ilia Alshanetsky c6fea156f0 MFH: Don't forget to unload t1lib. 2004-12-29 21:08:42 +00:00
Frank M. Kromann 90925d817f MFH: Fix typo 2004-12-29 20:20:52 +00:00
Zeev Suraski 47a2f22ac8 Update desc 2004-12-28 09:01:48 +00:00
Ilia Alshanetsky 81cb38ed75 MFH: Fixed several buffer overflows. 2004-12-23 19:29:36 +00:00
Ilia Alshanetsky 8a03620e1a Fixed potential buffer overflow inside swf_definepoly(). 2004-12-23 18:29:36 +00:00
Ilia Alshanetsky c75458bac3 Fixed bug #31270 (missing safe_mode/open_basedir check in swf_openfile()). 2004-12-23 18:04:10 +00:00
Antony Dovgal 66b5a3680b MFH: destroy return_value and fix leak in array_fill() 2004-12-23 16:40:03 +00:00
Antony Dovgal 0e58251e38 news entry 2004-12-23 16:29:00 +00:00
Antony Dovgal 288fdf242b MFH: add Oracle Instant Client support (patch by cjbj at hotmail dot com) 2004-12-23 16:23:22 +00:00
Edin Kadribasic 7259e7e0d1 BFN 2004-12-23 01:47:37 +00:00
Wez Furlong 4e84c36fba Black magic bad.
This will probably fixed reported COM problems (multiple bug #s)
2004-12-23 01:10:48 +00:00
Ilia Alshanetsky 26420231c8 MFH: Fixed bug #31142 (imap_mail_compose() fails to generate correct output). 2004-12-22 17:29:14 +00:00
SVN Migration e97b63540d This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-12-22 17:27:40 +00:00
foobar bd9fbc11da Removed unneeded file. 2004-12-22 03:09:07 +00:00
Ilia Alshanetsky 10e87da1d6 MFH: Fixed possible crash in imap_mail_compose(). 2004-12-21 15:47:38 +00:00
Edin Kadribasic 17ba387824 Avoid autoheader warning 2004-12-21 15:40:19 +00:00
Ilia Alshanetsky d653cf740b Added missing bug fix news. 2004-12-21 14:32:32 +00:00
foobar 84c91b3135 MFH: - Fixed bug #28385 (some files in $(prefix)/lib/php/build/* installed with wrong permissions) 2004-12-21 04:59:34 +00:00
Magnus M��tt� 539598db31 MFH: Fix test so it doesn't hang make test on HP-UX. 2004-12-21 04:36:20 +00:00
foobar 0f490b39f0 MFH: - Fixed bug #31145 (configure is using -lcpdf instead of -lcpdfm)
# Also backported some previous fixes that weren't in this branch yet.
2004-12-21 04:23:35 +00:00
foobar 69093d5dfd MFH: - Use correct header files (in c99 compliant way). uint32_t is preferred. 2004-12-21 01:08:09 +00:00
foobar e0b9d42d25 MFH: endian compile problem fix 2004-12-20 20:38:18 +00:00
foobar b5d9948f32 MFH: Fix buildconf when multiple autoconf versions installed 2004-12-20 20:24:23 +00:00
Ilia Alshanetsky 787ad5fd12 Fixed bug #31174 (compile warning in url.c). 2004-12-20 19:29:38 +00:00
foobar 6fe420def0 MFH: Use FREE_HASHTABLE() instead of efree() 2004-12-20 19:15:24 +00:00
foobar 7224f5355d typofix 2004-12-20 12:38:16 +00:00
Ilia Alshanetsky 7b7d26ccb0 Added missing bug fixing entries. 2004-12-19 19:28:58 +00:00
Ilia Alshanetsky 334a3cefe3 MFH: Fixed bug #31103 (Better error message when c-client cannot be found). 2004-12-19 18:18:20 +00:00
foobar 112e43d87f BFN 2004-12-18 03:57:25 +00:00
foobar 5efdcb0696 MFH: - Fixed bug #7782 (Cannot use PATH_INFO fully with php isapi) 2004-12-18 03:56:11 +00:00
foobar 1cb5b5e139 Missing CVS id tag 2004-12-18 03:15:10 +00:00
Antony Dovgal 33803e48e9 fix typo 2004-12-17 15:43:21 +00:00
Derick Rethans ec34a3876a - Fixed bug #31072 (var_export() does not output an array element with an empty
string key). (Derick)
2004-12-17 14:38:45 +00:00
Derick Rethans 0c48159953 - Fixed weird types, this also makes it compile on IRIX again. 2004-12-17 13:07:57 +00:00
foobar 5f5a17d741 typo 2004-12-17 02:20:04 +00:00
Moriyoshi Koizumi 8e0084d522 - MFH 2004-12-16 23:14:29 +00:00
Frank M. Kromann 5f859e2830 Fix #31120 and #31135. mssql_query returns false on successfill inserts and stored procedures 2004-12-16 21:48:17 +00:00
Antony Dovgal 7fcb28749a MFH: fix leak (init array only if we got valid start key) 2004-12-16 19:23:59 +00:00
Derick Rethans 5e4c8ca731 - Fixed bug #31107 (strtod on solaris9/intel) 2004-12-16 13:06:32 +00:00
foobar efbaf4327a MFH: Fix typo (avaliable -> available). (bug #28725) 2004-12-16 12:36:49 +00:00
foobar 39413a6022 MFH: - Fixed compile error with HP-UX using GCC. 2004-12-16 11:50:46 +00:00
Derick Rethans 66e397f2c9 - Fixed bug #31110 and #31111 (Zend/zend_strtod.c problems) 2004-12-16 10:38:16 +00:00
Ilia Alshanetsky 50c1182c4f MFH: Fixed bug #31056 (php_std_date() returns invalid formatted date if
y2k_compliance is On).
2004-12-16 00:10:55 +00:00
Ilia Alshanetsky b201d00bde Back to dev. 2004-12-15 15:05:11 +00:00
foobar c3f10ff73e MFH: fix tests 2004-12-15 08:30:53 +00:00
foobar 9bab20fbab MFH: missing files 2004-12-15 02:31:04 +00:00
Ilia Alshanetsky 84a696da20 Fixed test. 2004-12-14 17:42:28 +00:00
Ilia Alshanetsky 19d0000632 Fixed build. 2004-12-14 17:22:10 +00:00
Ilia Alshanetsky 5a4b7f9c30 4.3.10 2004-12-14 16:07:50 +00:00
Derick Rethans bb2e9ef00c - Fixed compile error related to bug #28605.
#- But it does not *fix* bug #28605.
2004-12-14 08:35:26 +00:00
Ilia Alshanetsky 6cd0a77372 MFH: Fixed bug #28228 (NULL decimal separator is not being handled correctly). 2004-12-14 00:40:01 +00:00
Derick Rethans f137de1506 - MFH: Generate all iconv headers by default 2004-12-11 11:17:21 +00:00
Antony Dovgal aea9676eb0 CS changes 2004-12-09 17:16:57 +00:00
Pierre Joye 67524ef7c9 - update, MFH #28598 2004-12-09 14:26:39 +00:00
Antony Dovgal a5d9c87d49 MFH: fix segfault in session_module_name() when session.save_handler is empty 2004-12-09 14:21:13 +00:00
Pierre Joye 87cae0e01b - MFH: #28598, attempt to restore MS Symbol ttf support 2004-12-09 14:20:20 +00:00
Derick Rethans b4b338a8d1 - Fixed bug #31034 (Problem with non-existing iconv header file). (Derick) 2004-12-09 09:04:46 +00:00
Ilia Alshanetsky fe29c8def5 MFH: Fixed bug #31024 (Crash in fgetcsv() with negative length). 2004-12-08 21:15:02 +00:00
Frank M. Kromann 251851dbb3 MFH: Fix possible leaks 2004-12-08 19:02:29 +00:00
Frank M. Kromann 6416003e95 MFH: Fix logic for file checking. Bug #31019 2004-12-08 18:59:11 +00:00
Joe Orton db633a0760 MFH: Fix VPATH build again. 2004-12-08 12:52:12 +00:00
foobar aff3259a25 MFH: Fix build. This was not supposed to halt configure if test fails. 2004-12-08 06:48:13 +00:00
Brad House 9b72bcfd99 backport from 5.0/head. Newer versions of libmonetra broke compatability with one function. Make workaround that detects version, and works with both. 2004-12-08 03:11:32 +00:00
Ilia Alshanetsky d2bf5faa4f Back to dev. 2004-12-08 01:11:43 +00:00
Ilia Alshanetsky eea7fbdd4f 4.3.10RC2 2004-12-08 01:09:53 +00:00
Antony Dovgal dcfe66f9d7 MFH: fix leak 2004-12-07 17:04:42 +00:00
Antony Dovgal 61442c339f revert it 2004-12-07 14:01:56 +00:00
Derick Rethans 3d2bc043a7 - Tidy up NEWS a bit. 2004-12-07 08:42:50 +00:00
Antony Dovgal 2381aecca9 fix bug #30232 (session_start() sends Set-Cookie header only if the cookie is not set yet)
# looks like somebody fixed it in HEAD and forgot to MFH it..
2004-12-07 08:21:38 +00:00
Ilia Alshanetsky 14c6cd1788 MFh: Fixed bug #30995 (snmp extension does not build with net-snmp 5.2). 2004-12-07 00:34:33 +00:00
Ilia Alshanetsky d059006b67 MFH: Fixed bug #30990 (allow popen() on *NIX to accept 'b' flag). 2004-12-06 23:31:58 +00:00
Derick Rethans 95d9d7069a - Install the iconv extension headers to <installpath>/ext/iconv so that
external extensions can use them.
2004-12-06 20:37:56 +00:00
Ilia Alshanetsky aea33db8bb Revert, this is not needed after all. 2004-12-06 19:44:33 +00:00
Stanislav Malyshev 9ab7598560 fix startup - if startup did not succeed, do not continue with execution 2004-12-06 18:55:16 +00:00
Stanislav Malyshev a21c4e544f do not zero out peak - MM shutdown would do that 2004-12-06 18:51:40 +00:00
Ilia Alshanetsky ccbb17575a As per discussion on internals and pecl, domxml is no longer experimental. 2004-12-05 19:08:56 +00:00
Holger Zimmermann 0cd60dedad Replaced static server variables by function call and configurable list at the Pi3Web server side. 2004-12-05 09:48:48 +00:00
Stefan Esser 1686229772 fix compile 2004-12-03 16:09:19 +00:00
Stefan Esser 0520c88818 MFH 2004-12-03 16:04:26 +00:00
Christian Stocker bc0b61d250 - remove EXPERIMENTAL tag 2004-12-03 15:53:02 +00:00
Ilia Alshanetsky fa3568d490 MFH: Fixed bug #30962 (mssql returns space for NULL columns). 2004-12-03 02:27:11 +00:00
Antony Dovgal 84b568c4be MFH: revert my last patch 2004-12-02 16:36:41 +00:00
Stefan Esser ef56c2d1ee MFH 2004-12-02 01:04:46 +00:00
Stefan Esser aa65def360 MFH 2004-12-02 00:44:33 +00:00
Stefan Esser 26b45cf15f Fixed missing opening bracket 2004-12-01 23:47:54 +00:00
Stefan Esser 8aa0e89801 MFH 2004-12-01 22:56:33 +00:00
Stefan Esser 0c23ef8d85 MFH 2004-12-01 22:42:26 +00:00
Derick Rethans aa3971b119 - Update INSTALL file (to add static instructions) 2004-12-01 09:15:06 +00:00
Derick Rethans 5cc3311229 - MFH: Added testcase for bug #30695 2004-11-29 10:15:22 +00:00
SVN Migration 78388bd7c5 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-11-29 10:15:04 +00:00
Derick Rethans 5742bd2c52 - Make it work with PDFLib 5 again (And the check for PDFLib 6 is gone). 2004-11-29 09:13:39 +00:00
Sergey Kartashoff 169205c41a # - MnoGoSearch extension latest patch reverted (part3) 2004-11-28 20:33:12 +00:00
Sergey Kartashoff 7335ef4d30 - MnoGoSearch extension latest patch reverted (part2) 2004-11-28 20:31:37 +00:00
Sergey Kartashoff fb8f2ff8e4 - MnoGoSearch extension latest patch reverted 2004-11-28 20:30:09 +00:00
Sergey Kartashoff 918be06876 - MnoGoSearch extension updated to fix compilation issues with
mnogosearch-3.2.25+
2004-11-28 20:03:30 +00:00
Antony Dovgal 909ad657e1 BFN + change my mail to my name 2004-11-28 17:15:30 +00:00
Antony Dovgal 2abee83ee1 MFH: fix #29954 (array_reduce segfaults when initial value is array) 2004-11-28 17:12:59 +00:00
Stefan Esser a09961a655 MFH 2004-11-28 12:44:56 +00:00
Jon Parise 07392ae5f1 Distribute Net_SMTP 1.2.6 instead of 1.2.3. The former includes a year's
worth of additional bug fixes and improvements, and it has been a stable
release for over six months.

PEAR Bug: 2839
2004-11-27 21:31:10 +00:00
Ilia Alshanetsky 6fcaae369a MFH: Improve offset check inside shmop_write(). 2004-11-27 18:18:19 +00:00
Ilia Alshanetsky c30a032552 Back to dev. 2004-11-23 14:56:29 +00:00
Ilia Alshanetsky a3ee846047 RC1 release date. 2004-11-23 14:08:19 +00:00
Ilia Alshanetsky 6b59cbbdd7 tagging 4.3.10RC1 2004-11-23 14:03:27 +00:00
Edin Kadribasic 2cf6532d17 (Sort of) MFH: export PHP iconv symbols using the old build too 2004-11-23 12:14:20 +00:00
Derick Rethans fc627a4fa1 - MFH: export "php_iconv_string()" 2004-11-23 09:45:23 +00:00
Derick Rethans 0a2b8eb991 - MFH: Added test case for bug #28599 2004-11-23 09:41:53 +00:00
SVN Migration ec7db7ced2 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-11-23 09:40:08 +00:00
Frank M. Kromann 41dca25055 Fix #30860 configure fails when tds is compiled as shared 2004-11-22 19:42:31 +00:00
Marcus Boerger 57c2b685d7 - Add missing .cvsignore 2004-11-21 17:47:26 +00:00
Stefan Esser 4eb5de66a4 MFH 2004-11-20 20:16:44 +00:00
Pierre Joye 0823cf28da - Entry for #30229 2004-11-20 13:40:30 +00:00
Pierre Joye 3775b78197 - Fix #30229, imagerectangle draw the corners twice, making it useless
with alpha channel.
  Fix it to work well with thick>1 as well, both filled and wired rectangle
2004-11-20 13:34:52 +00:00
Antony Dovgal be6160f0f9 BFN 2004-11-19 17:03:52 +00:00
Antony Dovgal 6db1b839c8 MFH: fix bug #30587 (array_multisort doesn't separate zvals before changing them) 2004-11-19 16:58:38 +00:00
Ilia Alshanetsky 581e6a7ea8 Fixed bug #30826 (Certain reference relations cannot be unserialized
properly).
2004-11-18 22:14:42 +00:00
Ilia Alshanetsky 4bd84a5e69 MFH: Gracefully handle allocation failure. 2004-11-17 23:43:31 +00:00
Pierre Joye b5d739b88b - Fix #30739, imagefill does not set back the alphablending mode 2004-11-17 17:13:42 +00:00
Edin Kadribasic ef30fa2ee0 Fix windows build 2004-11-17 00:10:26 +00:00
Frank M. Kromann 0e33da898f MFH: Fix win32 build. 2004-11-15 23:27:26 +00:00
Frank M. Kromann e018da1aa3 MFH: Avoid renaming of sprintf to php_sprintf 2004-11-15 23:26:40 +00:00
Derick Rethans 963d068fd5 - Cleaned up some of the locale mess:
* all internal use of sprintf, snprintf and the like will always
    use the . as thousands seperator (if php.h is included only!).
  * echo, printf() and sprintf() always render locale-aware
  * added the %F modifier for non-locale aware rendering for floats
2004-11-15 13:40:31 +00:00
Rainer Schaaf 189654d882 fixed Bug #29297
Configure now only allows to work with PDFlib up to PDFlib 4, as newer
PDFlib versions need the code from the PDFlib PECL module.
2004-11-13 23:42:08 +00:00
Antony Dovgal 4ac1241426 MFH: fix #30751 (phpinfo() shows the same ini path after reconfigure with --with-config-file-path) 2004-11-11 07:01:16 +00:00
Ilia Alshanetsky edd4e6525a MFH: Fixed bug #30750 (Meaningful error message when upload directory is not
accessible).
2004-11-11 00:40:18 +00:00
Wez Furlong 2c14b8fd21 MFH: CloseHandle 2004-11-10 20:28:27 +00:00
Ilia Alshanetsky 4c04d243da MFH: Fixed possible overflow. 2004-11-10 01:44:58 +00:00
Ilia Alshanetsky 9f38730cf9 MFH: Fixed crash inside cpdf_setdash() if called before page init. 2004-11-09 00:45:39 +00:00
Ilia Alshanetsky b9a5843251 MFH: Fixed possible crash on fstat() failure. 2004-11-08 04:55:14 +00:00
Marcus Boerger ac0a29b046 MFH Bug #30627 2004-11-04 20:17:25 +00:00
Derick Rethans 92c8f6ce9b - MFH: Fixed bug #30630: Added a BSD based strtod function that is
locale-independent. (PHP part)
2004-11-03 23:36:03 +00:00
Antony Dovgal cdac193f9f BFN 2004-11-03 13:42:51 +00:00
Antony Dovgal 81c614a1ef fix bug #30654 (persistent connection is deleted from hash if there was exclusive connection with the same credentials)
No need for MFB here - 5.x.x branches work fine.
2004-11-03 13:35:56 +00:00
Ilia Alshanetsky 21c8eb93ba MFH: Fixed bug #30658 (Ensure that temporary files created by GD are removed). 2004-11-02 16:42:13 +00:00
Ilia Alshanetsky e0fc58c29f MFH: Fixed open_basedir & safe_mode bypass inside readlink() function. 2004-11-02 00:38:07 +00:00
Ilia Alshanetsky a451f1c9e4 MFH: Fixed bug #30613 (Prevent infinite recursion in url redirection). 2004-11-01 04:56:10 +00:00
Andi Gutmans 26ed6ea8b2 - [PATCH] Bug fix for #29770, but for PHP 4.3.9 (Vladimir Zidar) 2004-10-29 00:38:44 +00:00
Antony Dovgal a4e90790c4 fix Win32 & Netware build 2004-10-28 05:05:57 +00:00
Antony Dovgal 2b2129c057 BFN 2004-10-27 12:06:13 +00:00
Antony Dovgal e4fadfcd89 MFH: fix bug #30388 (rename across filesystems loses ownership and permission info) 2004-10-27 12:01:20 +00:00
Wez Furlong 02b50acd93 Fix possible crash; patch by Kamesh Jayachandran 2004-10-27 11:11:28 +00:00
Wez Furlong 4ab0cd7dcb BFN 2004-10-26 09:31:20 +00:00
Wez Furlong 8cb520a855 Fix for Bug #29418 (double free when openssl_csr_new fails).
Also hook up MSHUTDOWN function which appears to have never been enabled.

Patch by Kamesh Jayachandran
2004-10-26 09:29:22 +00:00
Edin Kadribasic 06a0021a55 Revert Linux LFS patch 2004-10-22 10:46:07 +00:00
Edin Kadribasic 63b0419766 BFN 2004-10-22 00:00:41 +00:00
Edin Kadribasic 1701079235 BFN 2004-10-21 23:59:11 +00:00
Edin Kadribasic 9a27a01007 Enable LFS (large file support) for Linux. Support for other operating
systems can be added later. FreeBSD does not seem to require any
special compile flags to enable LFS.
Fixes #27792.
2004-10-21 23:47:59 +00:00
Edin Kadribasic 045499b31f MFH: bugfix #30133 2004-10-21 23:43:41 +00:00
Joe Orton bcb3eb98a8 MFH: Fix case where php_handle_aborted_connection was called
outside a try/end_try block (#25570).
2004-10-21 19:43:37 +00:00
Joe Orton 3b3ef4c5ee MFH: Fixed apache2* SAPI build against httpd 2.1. 2004-10-21 19:41:55 +00:00
Stanislav Malyshev 62e23967ee fix HEAD problem: if some output is attempted in shutdown,
it bails out from shutdown sequence, which is bad
2004-10-20 15:27:25 +00:00
Ilia Alshanetsky 5b683f14f5 MFH: Fixed bug #30475 (curl_getinfo() may crash in some situations). 2004-10-18 22:43:29 +00:00
Antony Dovgal 75ae21df6d BFN 2004-10-18 15:16:21 +00:00
Antony Dovgal f890a666a8 MFH: fix bug #30442 ( segmentation fault when parsing ?getvariable[][ ) 2004-10-18 15:08:46 +00:00
Ilia Alshanetsky db953cd7ff MFH: Fixed a bug in addslashes() handling of the '\0' character. 2004-10-17 18:41:30 +00:00
Sebastian Bergmann bf3ad32af1 MFH: Add *.gcda and *.gcno (from gcc -fprofile-{use|generate}) to .cvsignore. 2004-10-10 16:24:30 +00:00
SVN Migration 018f7b5094 This commit was manufactured by cvs2svn to create branch 'PHP_4_3'. 2004-10-10 16:10:39 +00:00
Antony Dovgal 2a4fc5e0ee MFH: fix possible segfault 2004-10-10 15:06:20 +00:00
Marcus Boerger 388504729f MFH speling 2004-10-08 19:03:14 +00:00
Ilia Alshanetsky a360086291 MFH: Fixed bug #30027 (Possible crash inside ftp_get()). 2004-10-05 23:55:21 +00:00
Ilia Alshanetsky 6abde062a9 MFH: Fixed bug #30281 (Prevent non-wbmp images from being detected as such) 2004-10-04 20:44:07 +00:00
Rasmus Lerdorf 972ec73cb1 Not sure when this BC breaking change snuck in, but the output method
didn't take an argument before and this compression argument is documented
to be optional but in the code it wasn't.  This patch fixes the BC break
by making the compression argument optional.
2004-10-01 19:18:40 +00:00
Magnus M��tt� 637a9710a1 The length should be passed to the function,
so no need to check it inside the function too.
Will also fix a compile failure with gcc 3.4.
2004-10-01 18:28:44 +00:00
Ilia Alshanetsky d564087e47 MFH: Make PHP_EOL constant available. 2004-10-01 14:27:13 +00:00
Antony Dovgal 9e8ce192df BFN 2004-09-30 15:02:06 +00:00
Antony Dovgal 48a22e8997 MFH: fix segfaults and bug #30282 and suppress compile warnings 2004-09-30 14:18:25 +00:00
Ilia Alshanetsky f3313b21b6 MFH: Fixed bug #30276 (Possible crash in ctype_digit on large numbers). 2004-09-30 01:24:03 +00:00
Ilia Alshanetsky 8f5de28871 MFH: Fix compilation 2004-09-29 12:40:09 +00:00
foobar c6a4f91836 - Fixed bug #30205 (Missing <unistd.h> in crypt() configure test). 2004-09-28 20:42:36 +00:00
Antony Dovgal e2cea361db MFH: fix bug #29652 2004-09-28 17:28:27 +00:00
Ilia Alshanetsky 545e42675d MFH: Fixed bug #30224 (Sybase date strings are sometimes not null
terminated).
2004-09-28 14:09:01 +00:00
Wez Furlong 70e1858a92 MFH: fix for #30057 2004-09-26 01:17:42 +00:00
Marcus Boerger 5a91c43301 MFH lib substituation 2004-09-25 15:32:20 +00:00
Marcus Boerger 98b81c2a4e BFN 2004-09-24 22:00:47 +00:00
Marcus Boerger c3f72d45ec - MFH Several serialize/unserialize fixes 2004-09-24 21:57:19 +00:00
Marcus Boerger 7952ed122a - MFH Several serialize/unserialize fixes
# first commit .re
2004-09-24 21:56:59 +00:00
Derick Rethans 6efc4c4940 - Backported Marcus' foreach() speedup patch from PHP 5.x. 2004-09-24 13:15:12 +00:00
Derick Rethans 31f503c1aa [0.25]
- Fixed some signed issues.
2004-09-24 13:07:18 +00:00
Ilia Alshanetsky 70b35bb580 MFH: Fixed bug #29913 (parse_url() is now binary safe). (Ilia) 2004-09-22 00:51:51 +00:00
Ilia Alshanetsky 13effac5aa Fixed minor version #. 2004-09-21 23:38:55 +00:00
Uwe Schindler 97dbc366c7 Fixed bug #29805 (HTTP Authentication Issues) 2004-09-21 22:00:39 +00:00
Ilia Alshanetsky 21d9578e52 Back to dev. 2004-09-20 23:29:49 +00:00
349 changed files with 13781 additions and 5576 deletions

No files matched your search

+10 -10
View File
@@ -148,9 +148,9 @@
* Changed all argument parsing to use the new zend_parse_parameters()
* If a function is unavailable due to lack of support for a certain
feature,
do not make the function avaliable, rather then making it print an
do not make the function available, rather then making it print an
error
saying that the functionality offered by the function is not avaliable.
saying that the functionality offered by the function is not available.
* Lots of WS fixes all over the file.
* Change strcpy() to strncpy() to prevent possible buffer overflows.
Fixed a bug in ncurses_pair_content(), 1st parameter was wrong.
@@ -1384,7 +1384,7 @@
2002-12-11 Ilia Alshanetsky <ilia@prohost.org>
* ext/exif/exif.c:
decode variable is only used when mbstring is avaliable.
decode variable is only used when mbstring is available.
* ext/openssl/openssl.c:
ZTS fix.
@@ -2193,7 +2193,7 @@
2002-12-04 Ilia Alshanetsky <ilia@prohost.org>
* ext/gd/gd.c:
MFH (build fix, when xpm support is not avaliable).
MFH (build fix, when xpm support is not available).
2002-12-04 Rasmus Lerdorf <rasmus@lerdorf.on.ca>
@@ -5864,7 +5864,7 @@
Compile warning fix.
* ext/mbstring/tests/overload.phpt:
Added a skip condition for when mail() function is not avaliable.
Added a skip condition for when mail() function is not available.
* ext/mbstring/tests/mb_send_mail05.phpt
ext/mbstring/tests/mb_send_mail06.phpt:
@@ -6758,7 +6758,7 @@
ext/standard/tests/strings/htmlentities07.phpt
ext/standard/tests/strings/htmlentities08.phpt
ext/standard/tests/strings/htmlentities09.phpt:
Added skip conditions in the event the required charset is not avaliabled.
Added skip conditions in the event the required charset is not availabled.
Removed old (commented out) module loading code.
* run-tests.php:
@@ -6766,11 +6766,11 @@
* ext/pspell/tests/01pspell_basic.phpt:
Added a skip condition if the English dictionary needed for the test is not
avaliable.
available.
* ext/pcntl/tests/001.phpt:
Added a skip condition in the event posix_kill(), which is used by the test
is not avaliable.
is not available.
* ext/exif/exif.c:
@@ -6903,7 +6903,7 @@
main/safe_mode.c:
Instead of checking whether realpath exists based on OS. Use the
HAVE_REALPATH define, which is set if realpath() is avaliable. This patch
HAVE_REALPATH define, which is set if realpath() is available. This patch
also resolves bug #18868.
2002-11-06 Sascha Schumann <sascha@schumann.cx>
@@ -9030,7 +9030,7 @@
* ext/standard/tests/strings/strtoupper.phpt:
Added 'skip logic' to the test on platforms where the locale required by
this test is not avaliable.
this test is not available.
2002-10-23 Melvyn Sopacua <msopacua@idg.nl>
+156 -135
View File
@@ -26,26 +26,33 @@ Status legend
== Server APIs ==
-------------------------------------------------------------------------------
EXTENSION: activescript
COMMENT: See http://pecl.php.net/package/PHPScript
-------------------------------------------------------------------------------
EXTENSION: aolserver
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: activescript
PRIMARY MAINTAINER: Wez Furlong <wez@php.net>
MAINTENANCE: Odd Fixes
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: apache
PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: apache2
EXTENSION: apache2filter
PRIMARY MAINTAINER: Aaron Bannert <aaron@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: apache2handler
PRIMARY MAINTAINER: Aaron Bannert <aaron@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: caudium
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: cgi
MAINTENANCE: Unknown
STATUS: Working
@@ -54,9 +61,10 @@ EXTENSION: cli
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: fhttpd
MAINTENANCE: Unknown
STATUS: Unknown
EXTENSION: embed
PRIMARY MAINTAINER: Edin Kadribasic <edink@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: isapi
MAINTENANCE: Unknown
@@ -80,7 +88,7 @@ MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: servlet
PRIMARY MAINTAINER: Sam Ruby <rubys@us.ibm.com>
PRIMARY MAINTAINER: Sam Ruby <rubys@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -88,8 +96,12 @@ EXTENSION: thttpd
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: tux
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: webjames
PRIMARY MAINTAINER: Alex Waugh <alex@alexwaugh.com>
PRIMARY MAINTAINER: Alex Waugh <alexwaugh@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
@@ -97,6 +109,11 @@ STATUS: Experimental
== Database extensions ==
-------------------------------------------------------------------------------
EXTENSION: db
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: dba
PRIMARY MAINTAINER: Marcus Börger <helly@php.net>
@@ -109,23 +126,19 @@ MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: dbx
PRIMARY MAINTAINER: Marc Boeren <M.Boeren@guidance.nl>
PRIMARY MAINTAINER: Marc Boeren <mboeren@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.6
COMMENT: DB abstraction for odbc, mysql, pgsql, mssql, fbsql and more, see documentation
-------------------------------------------------------------------------------
EXTENSION: filepro
EXTENSION: fbsql
PRIMARY MAINTAINER: Frank M. Kromann <fmk@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: hyperwave
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: informix
PRIMARY MAINTAINER: Danny Heijl <Danny.Heijl@cevi.be>
PRIMARY MAINTAINER: Danny Heijl <danny@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -136,7 +149,7 @@ STATUS: Experimental
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: interbase
PRIMARY MAINTAINER: Jouni Ahto <jouni.ahto@exdec.fi>, Ard Biesheuvel <ard@ard.nu>
PRIMARY MAINTAINER: Jouni Ahto <jah@php.net>, Ard Biesheuvel <abies@php.net>
MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
@@ -144,23 +157,37 @@ EXTENSION: msql
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: msession
PRIMARY MAINTAINER Mark L. Woodward mlwmohawk@mohawksoft.com
MAINTENANCE: Maintained
STATUS: Working/Experimental
COMMENT: Tested on Linux, should work on other UNIX platforms. Backend server code can compile under Windows.
-------------------------------------------------------------------------------
EXTENSION: mssql
PRIMARY MAINTAINER: Frank M. Kromann <fmk@swwwing.com>
PRIMARY MAINTAINER: Frank M. Kromann <fmk@php.net>
MAINTENANCE: Maintained
STATUS: Working
COMMENT: Tested on phpts and isapi versions
-------------------------------------------------------------------------------
EXTENSION: mysql
PRIMARY MAINTAINER: Zak Greant <zak@mysql.com>, Georg Richter <georg@php.net>
PRIMARY MAINTAINER: Zak Greant <zak@php.net>, Georg Richter <georg@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: oci8
PRIMARY MAINTAINER: Antony Dovgal <tony2001@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: odbc
PRIMARY MAINTAINER: Dan Kalowsky <kalowsky@php.net>
MAINTENANCE: Maintained
STATUS: Working
COMMENT: Working
-------------------------------------------------------------------------------
EXTENSION: oracle
MAINTENANCE: Orphaned
STATUS: Working
COMMENT: Using the new OCI8 driver is encouraged where possible.
-------------------------------------------------------------------------------
EXTENSION: ovrimos
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: pgsql
PRIMARY MAINTAINER: Yasuo Ohgaki <yohgaki@php.net>
MAINTENANCE: Maintained
@@ -175,61 +202,25 @@ EXTENSION: sybase_ct
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: oci8
PRIMARY MAINTAINER: Antony Dovgal <tony2001@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: odbc
PRIMARY MAINTAINER: Daniel R. Kalowsky <kalowsky@php.net>
MAINTENANCE: Maintained
STATUS: Working
COMMENT: Working
-------------------------------------------------------------------------------
EXTENSION: oracle
MAINTENANCE: Orphaned
STATUS: Working
COMMENT: Using the new OCI8 driver is encouraged where possible.
-------------------------------------------------------------------------------
== Other extensions ==
-------------------------------------------------------------------------------
EXTENSION: aspell
MAINTENANCE: Unknown
STATUS: Working
COMMENT: For aspell .27 and greater, check out the pspell extension
-------------------------------------------------------------------------------
EXTENSION: bcmath
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: bz2
PRIMARY MAINTAINER: Hartmut Holzgraefe <hartmut@six.de>
MAINTENANCE: Odd Fixes
STATUS: Working
SINCE: 4.0.3
-------------------------------------------------------------------------------
EXTENSION: dio
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
MAINTENANCE: Orphaned
STATUS: Working
SINCE: 4.0.6
-------------------------------------------------------------------------------
EXTENSION: cyrus
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
MAINTENANCE: Orphaned
STATUS: Working
SINCE: 4.0.6
COMMENT: See http://pecl.php.net/package/bz2
-------------------------------------------------------------------------------
EXTENSION: calendar
PRIMARY MAINTAINER: Hartmut Holzgraefe <hartmut@six.de>
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: com
PRIMARY MAINTAINER: Harald Radi <h.radi@nme.at>
PRIMARY MAINTAINER: Harald Radi <phanto@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -239,12 +230,10 @@ MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: crack
MAINTENANCE: Unknown
STATUS: Experimental
SINCE: 4.0.5
COMMENT: See http://pecl.php.net/package/crack
-------------------------------------------------------------------------------
EXTENSION: ctype
PRIMARY MAINTAINER: Hartmut Holzgraefe <hartmut@six.de>
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -254,23 +243,27 @@ MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: cybercash
PRIMARY MAINTAINER: Evan Klinger <evan715@sirius.com>
MAINTENANCE: Maintained
STATUS: Unknown
EXTENSION: cyrus
COMMENT: See http://pecl.php.net/package/cyrus
-------------------------------------------------------------------------------
EXTENSION: dio
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
MAINTENANCE: Orphaned
STATUS: Working
SINCE: 4.0.6
-------------------------------------------------------------------------------
EXTENSION: domxml
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: dotnet
PRIMARY MAINTAINER: Sam Ruby <rubys@us.ibm.com>
PRIMARY MAINTAINER: Sam Ruby <rubys@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: exif
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>
PRIMARY MAINTAINER: Marcus Börger <helly@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.2
@@ -280,13 +273,15 @@ PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Maintained
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: filepro
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: fribidi
PRIMARY MAINTAINER: Tal Peer <tal@php.net>
MAINTENANCE: Maintained
STATUS: Working
COMMENT: See http://pecl.php.net/package/fribidi
-------------------------------------------------------------------------------
EXTENSION: ftp
PRIMARY MAINTAINER: Stefan Esser (sesser@php.net)
PRIMARY MAINTAINER: Stefan Esser <sesser@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -304,9 +299,15 @@ MAINTENANCE: Unknown
STATUS: Unknown
SINCE: 4.0.4
-------------------------------------------------------------------------------
EXTENSION: icap
EXTENSION: hwapi
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Unknown
STATUS: Obsolete
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: hyperwave
PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: iconv
PRIMARY MAINTAINER: Moriyoshi Koizumi <moriyoshi@php.net>
@@ -314,12 +315,17 @@ MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: imap
PRIMARY MAINTAINER: Chuck Hagenbuch <chuck@horde.org>
PRIMARY MAINTAINER: Chuck Hagenbuch <chagenbu@php.net>
MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: ircg
PRIMARY MAINTAINER: Sascha Schumann <sas@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: java
PRIMARY MAINTAINER: Sam Ruby <rubys@us.ibm.com>
PRIMARY MAINTAINER: Sam Ruby <rubys@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -334,26 +340,50 @@ MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mcal
PRIMARY MAINTAINER: Chuck Hagenbuch <chuck@horde.org>
PRIMARY MAINTAINER: Chuck Hagenbuch <chagenbu@php.net>
MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mcrypt
PRIMARY MAINTAINER: Derick Rethans <derick@derickrethans.nl>
PRIMARY MAINTAINER: Derick Rethans <derick@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mhash
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
PRIMARY MAINTAINER: Sascha Schumann <sas@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: muscat
PRIMARY MAINTAINER: Sam Liddicott <sam@ananova.com>
EXTENSION: mime_magic
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: ming
PRIMARY MAINTAINER: Frank M. Kromann <fmk@php.net>
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: mnogosearch
PRIMARY MAINTAINER: Sergey Kartashoff <gluke@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: msession
PRIMARY MAINTAINER Mark L. Woodward <mlwmohawk@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.5
COMMENT: Not tested against windows, only core API completed, rest under development
STATUS: Working/Experimental
COMMENT: Tested on Linux, should work on other UNIX platforms. Backend server code can compile under Windows.
-------------------------------------------------------------------------------
EXTENSION: notes
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: ncurses
PRIMARY MAINTAINER Ilia Alshanetsky <iliaa@php.net>, Wez Furlong <wez@php.net>, Hartmut Holzgraefe <hholzgra@php.net>, Georg Richter <georg@php.net>
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: openssl
PRIMARY MAINTAINER: Wez Furlong <wez@php.net>
@@ -366,6 +396,10 @@ PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: pcntl
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: pcre
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Maintained
@@ -377,25 +411,18 @@ MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: pfpro
PRIMARY MAINTAINER: David Croft <david@infotrek.co.uk>
PRIMARY MAINTAINER: David Croft <david@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: posix
PRIMARY MAINTAINER: Kristian Köhntopp <kris@koehntopp.de>
PRIMARY MAINTAINER: Kristian Köhntopp <kk@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: printer
PRIMARY MAINTAINER: Daniel Beulshausen <daniel@php4win.de>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.4
COMMENT: Only for Win32
-------------------------------------------------------------------------------
EXTENSION: pspell
PRIMARY MAINTAINER: Vlad Krupin <phpdevel@echospace.com>
PRIMARY MAINTAINER: Vlad Krupin <vlad@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
SINCE: 4.0.2
@@ -410,24 +437,12 @@ MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: recode
PRIMARY MAINTAINER: Kristian Köhntopp <kris@koehntopp.de>
PRIMARY MAINTAINER: Kristian Köhntopp <kk@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: sablot
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
MAINTENANCE: Obsolete
STATUS: Experimental
SINCE: 4.0.3
-------------------------------------------------------------------------------
EXTENSION: satellite
PRIMARY MAINTAINER: David Eriksson <eriksson@php.net>
MAINTENANCE: Odd Fixes
STATUS: Experimental
SINCE: 4.0.3
-------------------------------------------------------------------------------
EXTENSION: session
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
PRIMARY MAINTAINER: Sascha Schumann <sas@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -443,7 +458,7 @@ MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: sockets
PRIMARY MAINTAINER: Chris Vandomelen <chrisv@b0rked.dhs.org>
PRIMARY MAINTAINER: Chris Vandomelen <chrisv@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
SINCE: 4.0.2
@@ -454,6 +469,10 @@ MAINTENANCE: Orphaned
STATUS: Deprecated (Use the ming swf extension instead)
COMMENT: Only for Unix (won't change)
-------------------------------------------------------------------------------
EXTENSION: sysvmsg
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: sysvsem
MAINTENANCE: Unknown
STATUS: Unknown
@@ -462,10 +481,14 @@ EXTENSION: sysvshm
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: vpopmail
EXTENSION: tokenizer
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: w32api
MAINTENANCE: Unknown
STATUS: Experimental
SINCE: 4.0.5
-------------------------------------------------------------------------------
EXTENSION: wddx
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
@@ -473,34 +496,32 @@ MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xml
PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net>
PRIMARY MAINTAINER: Thies C. Arntzen <thies@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xmlrpc
MAINTENANCE: Unknown
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: xslt
PRIMARY MAINTAINER: Hartmut Holzgraefe <hartmut@six.de>
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
MAINTENANCE: Odd Fixes
STATUS: Working (mostly)
-------------------------------------------------------------------------------
EXTENSION: yaz
PRIMARY MAINTAINER: Adam Dickmeiss <adam@indexdata.dk>
MAINTENANCE: Maintained
STATUS: Unknown
SINCE: 4.0.1
COMMENT: See http://pecl.php.net/package/yaz
-------------------------------------------------------------------------------
EXTENSION: yp
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: zip
COMMENT: See http://pecl.php.net/package/zip
-------------------------------------------------------------------------------
EXTENSION: zlib
PRIMARY MAINTAINER: Stefan Roehrich <sr@linux.de>
PRIMARY MAINTAINER: Stefan Roehrich <sr@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: zziplib
PRIMARY MAINTAINER: Hartmut Holzgraefe <hartmut@six.de>
MAINTENANCE: Odd Fixes
STATUS: Working
SINCE: 4.0.5
-------------------------------------------------------------------------------
# iptc?
+635 -441
View File
File diff suppressed because it is too large. Load diff
+166 -1
View File
@@ -1,5 +1,167 @@
PHP 4 NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
31 Mar 2005, Version 4.3.11
- Added Oracle Instant Client support. (cjbj at hotmail dot com, Tony)
- Added checks for negative values to gmp_sqrt(), gmp_powm(), gmp_sqrtrem()
and gmp_fact() to prevent SIGFPE. (Tony)
- Changed phpize not to require libtool. (Jani)
- Updated bundled libmbfl library (used for multibyte functions). (Moriyoshi)
- Fixed several leaks in ext/browscap and sapi/embed. (Andrei)
- Fixed several leaks in ext/filepro. (Tony)
- Fixed build system to always use bundled libtool files. (Jani)
- Fixed MacOSX shared extensions crashing on Apache startup. (Rasmus)
- Fixed bug #32373 (segfault in bzopen() if supplied path to non-existent
file). (Tony)
- Fixed bug #32340 (insert_before($node,NULL) does not return). (Rob)
- Fixed bug #32200 (Prevent using both --with-apxs2 and --with-apxs2filter).
(Jani)
- Fixed bug #32114 (DOM crashing when attribute appended to Document). (Rob)
- Fixed bug #32063 (mb_convert_encoding ignores named entity 'alpha').
(Moriyoshi)
- Fixed bug #31960 (msql_fetch_row() and msql_fetch_array() dropping columns
with NULL values). (Daniel Convissor)
- Fixed bug #31936 (set_h_errno() is redefined incompatibly). (Jani)
- Fixed bug #31911 (mb_decode_mimeheader() is case-sensitive to hex escapes).
(Moriyoshi)
- Fixed bug #31858 (--disable-cli does not force --without-pear). (Jani)
- Fixed bug #31842 (*date('r') does not return RFC2822 conforming date string).
(Jani)
- Fixed bug #31797 (exif_read_data() uses too low nesting limit). (Ilia)
- Fixed bug #31796 (readline completion handler does not handle empty return
values). (Ilia)
- Fixed bug #31792 (getrusage() does not provide ru_nswap value). (Ilia)
- Fixed bug #31754 (dbase_open() fails for mode = 1). (Mehdi, Derick)
- Fixed bug #31705 (parse_url() does not recognize http://foo.com#bar). (Ilia)
- Fixed bug #31684 (dio_tcsetattr(): misconfigured termios settings).
(elod at itfais dot com)
- Fixed bug #31699 (unserialize() float problem on non-English locales). (Ilia)
- Fixed bug #31623 (OCILogin does not support password grace period).
(daniel dot beet at accuratesoftware dot com, Tony)
- Fixed bug #31580 (fgetcsv() problematic with "" escape sequences). (Ilia)
- Fixed bug #31527 (crash in msg_send() when non-string is stored without
being serialized). (Ilia)
- Fixed bug #31514 (open_basedir uses path_translated rather then cwd for .
translation). (Ilia)
- Fixed bug #31480 (Possible infinite loop in imap_mail_compose()). (Ilia)
- Fixed bug #31479 (Fixed crash in chunk_split(), when chunklen > strlen). (Ilia)
- Fixed bug #31465 (False warning in unpack() when working with *). (Ilia)
- Fixed bug #31454 (session_set_save_handler crashes PHP when supplied
non-existent object ref). (Tony)
- Fixed bug #31444 (Memory leak in zend_language_scanner.c).
(hexer at studentcenter dot org)
- Fixed bug #31442 (unserialize broken on 64-bit systems). (Marcus)
- Fixed bug #31440 ($GLOBALS can be overwritten via GPC when
register_globals is enabled). (Ilia)
- Fixed bug #31413 (curl POSTFIELDS crashes on 64-bit platforms). (Joe)
- Fixed bug #31396 (compile fails with gd 2.0.33 without freetype). (Jani)
- Fixed bug #31371 (highlight_file() trims new line after heredoc). (Ilia)
- Fixed bug #31270 (missing safe_mode/open_basedir check in swf_openfile()). (Ilia)
- Fixed bug #31174 (compile warning in url.c). (Ilia, lukem at NetBSD dot org)
- Fixed bug #31159 (COM object access is not working). (Wez)
- Fixed bug #31142 (imap_mail_compose() fails to generate correct output). (Ilia)
- Fixed bug #31398 (When magic_guotes_gpc are enabled filenames with ' get cutoff).
(Ilia)
- Fixed bug #31288 (Possible crash in mysql_fetch_field(), if mysql_list_fields()
was not called previously). (Ilia)
- Fixed bug #31120 (mssql_query returns false on successfull inserts and
stored procedures). (Frank)
- Fixed bugs #31107, #31110, #31111, #31249 (Compile failure of zend_strtod.c).
(Jani)
- Fixed bug #31106 (Fixed crash in overloaded objects). (Stas)
- Fixed bug #31103 (Better error message when c-client cannot be found). (Ilia)
- Fixed bug #31101 (missing kerberos header file path with --with-openssl). (Jani)
- Fixed bug #31072 (var_export() does not output an array element with an empty
string key). (Derick)
- Fixed bug #31060 (imageftbbox() does not use linespacing parameter). (Jani)
- Fixed bug #31056 (php_std_date() returns invalid formatted date if
y2k_compliance is On). (Ilia)
- Fixed bug #31055 (apache2filter: per request leak proportional to the full
path of the request URI). (kameshj at fastmail dot fm)
- Fixed bug #30726 (-.1 like numbers are not being handled correctly). (Ilia)
- Fixed bug #30609 (cURL functions bypass open_basedir). (Jani)
- Fixed bug #30573 (compiler warnings in libmbfl due to invalid type cast).
(Moriyoshi)
- Fixed bug #30549 (incorrect character translations for some ISO8859 charsets).
(Moriyoshi)
- Fixed bug #30446 (apache2handler: virtual() includes files out of sequence)
- Fixed bug #30430 (odbc_next_result() doesn't bind values and that results
in segfault). (pdan-php at esync dot org, Tony)
- Fixed bug #30120 (imagettftext() and imagettfbbox() accept too many
parameters). (Jani)
- Fixed bug #29733 (printf() handles repeated placeholders wrong).
(bugs dot php dot net at bluetwanger dot de, Ilia)
- Fixed bug #29424 (width and height inverted for JPEG2000 files). (Ilia)
- Fixed bug #28976 (mail(): use "From:" from headers if sendmail_from is empty).
(Jani)
- Fixed bug #28930 (PHP sources pick wrong header files generated by bison).
(eggert at gnu dot org)
- Fixed bug #28804 (ini-file section parsing pattern is buggy).
(wendland at scan-plus dot de)
- Fixed bug #28803 (enabled debug causes bailout errors with CLI on AIX
because of fflush() called on already closed filedescriptor). (Tony)
- Fixed bug #28451 (corupt EXIF headers have unlimited recursive IFD directory
entries). (Andrei)
- Fixed bug #28220 (mb_strwidth() returns wrong width values for some hangul chars). (Moriyoshi)
- Fixed bug #28086 (crash inside overload() function). (Tony)
- Fixed bug #28074 (FastCGI: stderr should be written in a FCGI stderr stream).
(chris at ex-parrot dot com)
- Fixed bug #28067 (partially incorrect utf8 to htmlentities mapping). (Derick,
Benjamin Greiner)
- Fixed bug #27633 (Double \r problem on ftp_get in ASCII mode on Win32). (Ilia)
- Fixed bug #18613 (Multiple OUs in x509 certificate not handled properly). (Jani)
- Fixed bug #7782 (Cannot use PATH_INFO fully with php isapi). (Unknown)
15 Dec 2004, Version 4.3.10
- Added the %F modifier to *printf to render a non-locale-aware representation
of a float with the . as decimal separator. (Derick)
- Backported Marcus' foreach() speedup patch from PHP 5.x. (Derick)
- Fixed a bug in addslashes() handling of the '\0' character. (Ilia)
- Fixed potential problems with unserializing invalid serialize data. (Marcus)
- Fixed bug #31034 (Problem with non-existing iconv header file). (Derick)
- Fixed bug #31024 (Crash in fgetcsv() with negative length). (Ilia)
- Fixed bug #31019 (Logic error mssql library checking). (Frank)
- Fixed bug #30995 (snmp extension does not build with net-snmp 5.2). (Ilia)
- Fixed bug #30990 (allow popen() on *NIX to accept 'b' flag). (Ilia)
- Fixed bug #30826 (Certain reference relations cannot be unserialized
properly). (Ilia)
- Fixed bug #30750 (Meaningful error message when upload directory is not
accessible). (Ilia)
- Fixed bug #30739 (imagefill does not set back alphablending mode). (Pierre)
- Fixed bug #30672 (Problem handling exif data in jpeg images at unusual
places). (Marcus)
- Fixed bug #30658 (Ensure that temporary files created by GD are removed).
(Ilia)
- Fixed bug #30654 (oci8 persistent connection is deleted from hash
if there was exclusive connection with the same credentials). (Tony)
- Fixed bug #30613 (Prevent infinite recursion in url redirection). (Ilia)
- Fixed bug #30587 (array_multisort doesn't separate zvals before
changing them). (Tony)
- Fixed bug #30475 (curl_getinfo() may crash in some situations). (Ilia)
- Fixed bug #30442 (segfault when parsing ?getvariable[][ ). (Tony)
- Fixed bug #30388 (rename across filesystems loses ownership and
permission info). (Tony)
- Fixed bug #30282 (segfault when using unknown/unsupported
session.save_handler and/or session.serialize_handler). (Tony)
- Fixed bug #30281 (Prevent non-wbmp images from being detected as such).
(Ilia)
- Fixed bug #30276 (Possible crash in ctype_digit on large numbers). (Ilia)
- Fixed bug #30229 (imagerectangle and imagefilledrectangle do work well
with alpha channel, corners are drawn twice). (Pierre)
- Fixed bug #30224 (Sybase date strings are sometimes not null terminated).
(Ilia)
- Fixed bug #30133 (get_current_user() crashes on Windows). (Edin)
- Fixed bug #30057 (did not detect IPV6 on FreeBSD 4.1). (Wez)
- Fixed bug #30027 (Possible crash inside ftp_get()).
(cfield at affinitysolutions dot com)
- Fixed bug #29805 (HTTP Authentication Issues). (Uwe Schindler)
- Fixed bug #29418 (double free when openssl_csr_new fails).
(Kamesh Jayachandran).
- Fixed bug #28598 (Lost support for MS Symbol fonts). (Pierre)
- Fixed bug #28325 (Circular references not properly serialized). (Moriyoshi)
- Fixed bug #28228 (NULL decimal separator is not being handled correctly).
(Ilia)
- Fixed bug #27469 (serialize() objects of incomplete class). (Dmitry)
22 Sep 2004, Version 4.3.9
- GPC input processing fixes (Stefano Di Paola, Rasmus, Stefan)
- Implemented periodic PCRE compiled regexp cache cleanup, to avoid memory
@@ -10,11 +172,14 @@ PHP 4 NEWS
- Updated PCRE to provide better error handling in certain cases. (Andrei)
- NSAPI: added "bucket" parameter to list of non-php.ini-keys of php4_execute
for doing performance stats without warnings in server-log. (Uwe Schindler)
- Fixed bug preventing from building oci8 as shared.
(stanislav dot voroniy at portavita dot nl, Tony)
- Fixed leap year checking with idate(). (Christian Schneider, Derick)
- Fixed strip_tags() to correctly handle '\0' characters. (Stefan)
- Fixed funny forking effect in FastCGI when PHP_FCGI_CHILDREN was not set.
- Fixed bug #30050 (Possible crash inside php_shutdown_config()).
(Ilia, nw at softwarekombinat dot de)
- Fixed bug #29954 (array_reduce segfaults when initial value is array). (Tony)
- Fixed bug #29882 (isset crashes on arrays). (Marcus)
- Fixed bug #29753 (mcal_fetch_event() allows 2nd argument to be optional).
(Ilia, Vrana)
@@ -37,7 +202,7 @@ PHP 4 NEWS
- Fixed bug #29226 (ctype_* functions missing validation of numeric string
representations). (Ilia)
- Fixed bug #29209 (imap_fetchbody() doesn't check message index).
(Ilia, tony2001 at phpclub dot net)
(Ilia, Tony)
- Fixed bug #29116 (Zend constant warning uses memory after free).
(Marcus, jdolecek at NetBSD dot org)
- Fixed bug #29114 (Potential double free in php_stat). (Sara)
+18 -10
View File
@@ -29,7 +29,14 @@ Having said that, here are the organizational rules:
5. If you don't know how to do something, ask first!
6. Test your changes before committing them. We mean it. Really.
Currently we have the following branches in use:
HEAD Will become PHP 5.1. This CVS branch is for active development.
PHP_5_0 Is used to release the PHP 5.0.x series. Only minor feature
enhancements may go in here, but please keep that as infrequent as
possible.
PHP_4_3 Is used to release the PHP 4.3.x series. Only bugfixes are permitted
on this branch.
The next few rules are more of a technical nature.
@@ -61,26 +68,27 @@ The next few rules are more of a technical nature.
The format of the commit messages is pretty simple.
Use a - to start a new item in your commit message.
If a line begins with #, it is taken to be a comment and will not appear
in the ChangeLog. Everything else goes into the ChangeLog.
It is important to note that if your comment or news logline spans multiple
lines, you have to put # at the beginning of _every_ such line.
Example. Say you modified two files, datetime.c and string.c. In datetime.c
you added a new format option for date() function, and in string.c you fixed
a memory leak in php_trim(). Don't commit both of these at once. Commit them
Example. Say you modified two files, datetime.c and string.c. In datetime.c you
added a new format option for the date() function, and in string.c you fixed a
memory leak in php_trim(). Don't commit both of these at once. Commit them
separately and try to make sure your commit messages look something like the
following.
For datetime.c:
(PHP date) Added new 'K' format modifier for printing out number of
days until New Year's Eve.
- Added new 'K' format modifier to date() for printing out number of days until
New Year's Eve.
For string.c:
(php_trim) Fixed a memory leak resulting from improper use of zval_dtor().
# Man, that thing was leaking all over the place!
- Fixed a memory leak in php_trim() resulting from improper use of zval_dtor().
#- Man, that thing was leaking all over the place!
The # lines will be omitted from the ChangeLog automagically.
@@ -90,7 +98,7 @@ bug report when developers are browsing CVS via. LXR or Bonsai.
Example:
Fixed pgsql notice handler double free crash bug. Bug #14016
Fixed bug #14016 (pgsql notice handler double free crash bug.)
If you don't see your messages in ChangeLog right away, don't worry!
These files are updated once a day, so your stuff will not show up until
-3
View File
@@ -13,9 +13,6 @@ Zend
* Allow to set a default value for call-by-reference-parameters.
eg: function hello (&$pallo = NULL) {}
* Disallow function(method) redefinition in class.
* Add configure test to determine if dlsym() requires underscore and set
DLSYM_NEEDS_UNDERSCORE accordingly. Perl and zsh have it in configure,
for example. (DONE?)
For PHP 5.0.0:
* Native large number support (probably with GNU GMP)
+1 -3
View File
@@ -25,12 +25,12 @@ Fixed:
mb_strcut('', [number greater than the length of first arg]) (Moriyoshi)
ext/exif, ext/dba (Marcus)
php_base64_encode (Moriyoshi)
pack (Ilia)
Open:
the dbase extension (1)
socket_select (2)
pack (3)
(1) heap corruption, mostly visible in malloc-related calls. Whether you see
this or not might depend on your libc/compiler. Hard to track down,
@@ -70,8 +70,6 @@ Methodology
echo dbase_open | php do_crash.txt
(3) multiple integer overflows, ex. pack("d4294967297", 2);
Amendment 1.
CFLAGS='-O0 -g' \
+2 -2
View File
@@ -285,11 +285,11 @@ static void allocate_new_resource(tsrm_tls_entry **thread_resources_ptr, THREAD_
}
}
tsrm_mutex_unlock(tsmm_mutex);
if (tsrm_new_thread_end_handler) {
tsrm_new_thread_end_handler(thread_id, &((*thread_resources_ptr)->storage));
}
tsrm_mutex_unlock(tsmm_mutex);
}
+1 -1
View File
@@ -15,7 +15,7 @@
/* #ifndef WIN32 */
#if !defined(WIN32) && !defined(NETWARE)
# include "tsrm_config.h"
# include <tsrm_config.h>
#endif
#ifdef WIN32
+1 -1
View File
@@ -1,5 +1,5 @@
AC_DEFUN(AM_SET_LIBTOOL_VARIABLE,[
AC_DEFUN([AM_SET_LIBTOOL_VARIABLE],[
LIBTOOL='$(SHELL) $(top_builddir)/libtool $1'
])
+4 -4
View File
@@ -30,7 +30,7 @@ dnl PTHREADS_FLAGS
dnl
dnl Set some magic defines to achieve POSIX threads conformance
dnl
AC_DEFUN(PTHREADS_FLAGS,[
AC_DEFUN([PTHREADS_FLAGS],[
if test -z "$host_alias" && test -n "$host"; then
host_alias=$host
fi
@@ -65,7 +65,7 @@ dnl PTHREADS_CHECK_COMPILE
dnl
dnl Check whether the current setup can use POSIX threads calls
dnl
AC_DEFUN(PTHREADS_CHECK_COMPILE, [
AC_DEFUN([PTHREADS_CHECK_COMPILE], [
AC_TRY_RUN( [
#include <pthread.h>
#include <stddef.h>
@@ -100,7 +100,7 @@ dnl -pthreads gcc (Solaris)
dnl -qthreaded AIX cc V5
dnl -threads gcc (HP-UX)
dnl
AC_DEFUN(PTHREADS_CHECK,[
AC_DEFUN([PTHREADS_CHECK],[
if test "$beos_threads" = "1"; then
pthreads_working="yes"
@@ -154,7 +154,7 @@ fi
])dnl
dnl
dnl
AC_DEFUN(PTHREADS_ASSIGN_VARS,[
AC_DEFUN([PTHREADS_ASSIGN_VARS],[
if test -n "$ac_cv_pthreads_lib"; then
LIBS="$LIBS -l$ac_cv_pthreads_lib"
fi
+6 -6
View File
@@ -1,6 +1,6 @@
dnl TSRM_CHECK_GCC_ARG(ARG, ACTION-IF-FOUND, ACTION-IF-NOT_FOUND)
AC_DEFUN(TSRM_CHECK_GCC_ARG,[
AC_DEFUN([TSRM_CHECK_GCC_ARG],[
gcc_arg_name=[ac_cv_gcc_arg]translit($1,A-Z-,a-z_)
AC_CACHE_CHECK([whether $CC supports $1], [ac_cv_gcc_arg]translit($1,A-Z-,a-z_), [
echo 'void somefunc() { };' > conftest.c
@@ -21,7 +21,7 @@ AC_DEFUN(TSRM_CHECK_GCC_ARG,[
fi
])
AC_DEFUN(TSRM_BASIC_CHECKS,[
AC_DEFUN([TSRM_BASIC_CHECKS],[
AC_REQUIRE([AC_PROG_CC])dnl
dnl AC_REQUIRE([AM_PROG_CC_STDC])dnl
@@ -33,7 +33,7 @@ AC_CHECK_HEADERS(stdarg.h)
])
AC_DEFUN(TSRM_CHECK_PTH,[
AC_DEFUN([TSRM_CHECK_PTH],[
AC_MSG_CHECKING(for GNU Pth)
PTH_PREFIX="`$1 --prefix`"
@@ -50,7 +50,7 @@ AC_MSG_RESULT(yes - installed in $PTH_PREFIX)
])
AC_DEFUN(TSRM_CHECK_ST,[
AC_DEFUN([TSRM_CHECK_ST],[
if test -r "$1/include/st.h"; then
CPPFLAGS="$CPPFLAGS -I$1/include"
LDFLAGS="$LDFLAGS -L$1/lib"
@@ -70,7 +70,7 @@ AC_DEFUN(TSRM_CHECK_ST,[
sinclude(threads.m4)
sinclude(TSRM/threads.m4)
AC_DEFUN(TSRM_CHECK_PTHREADS,[
AC_DEFUN([TSRM_CHECK_PTHREADS],[
PTHREADS_CHECK
@@ -89,7 +89,7 @@ fi
])
AC_DEFUN(TSRM_THREADS_CHECKS,[
AC_DEFUN([TSRM_THREADS_CHECKS],[
dnl For the thread implementations, we always use --with-*
dnl to maintain consistency
+1 -1
View File
@@ -10,7 +10,7 @@
#elif defined(NETWARE)
# include "tsrm_config.nw.h"
#else
# include "tsrm_config.h"
# include <tsrm_config.h>
# include <sys/param.h>
#endif
+51 -10
View File
@@ -301,15 +301,22 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
if (path_length == 0)
return (0);
if (path_length >= MAXPATHLEN)
return (1);
#if !defined(TSRM_WIN32) && !defined(NETWARE)
/* cwd_length can be 0 when getcwd() fails.
* This can happen under solaris when a dir does not have read permissions
* but *does* have execute permissions */
if (IS_ABSOLUTE_PATH(path, path_length) || (state->cwd_length < 1)) {
if (use_realpath && realpath(path, resolved_path)) {
path = resolved_path;
path_length = strlen(path);
if (use_realpath) {
if (realpath(path, resolved_path)) {
path = resolved_path;
path_length = strlen(path);
} else {
/* disable for now
return 1; */
}
}
} else { /* Concat current directory with relative path and then run realpath() on it */
char *tmp;
@@ -325,9 +332,19 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
memcpy(ptr, path, path_length);
ptr += path_length;
*ptr = '\0';
if (use_realpath && realpath(tmp, resolved_path)) {
path = resolved_path;
path_length = strlen(path);
if (strlen(tmp) >= MAXPATHLEN) {
free(tmp);
return 1;
}
if (use_realpath) {
if (realpath(tmp, resolved_path)) {
path = resolved_path;
path_length = strlen(path);
} else {
/* disable for now
free(tmp);
return 1; */
}
}
free(tmp);
}
@@ -818,13 +835,24 @@ CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC)
CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC)
{
int command_length;
int dir_length, extra = 0;
char *command_line;
char *ptr;
char *ptr, *dir;
FILE *retval;
command_length = strlen(command);
ptr = command_line = (char *) malloc(command_length + sizeof("cd ; ") + CWDG(cwd).cwd_length+1);
dir_length = CWDG(cwd).cwd_length;
dir = CWDG(cwd).cwd;
while (dir_length > 0) {
if (*dir == '\'') extra+=3;
dir++;
dir_length--;
}
dir_length = CWDG(cwd).cwd_length;
dir = CWDG(cwd).cwd;
ptr = command_line = (char *) malloc(command_length + sizeof("cd '' ; ") + dir_length +extra+1+1);
if (!command_line) {
return NULL;
}
@@ -834,8 +862,21 @@ CWD_API FILE *virtual_popen(const char *command, const char *type TSRMLS_DC)
if (CWDG(cwd).cwd_length == 0) {
*ptr++ = DEFAULT_SLASH;
} else {
memcpy(ptr, CWDG(cwd).cwd, CWDG(cwd).cwd_length);
ptr += CWDG(cwd).cwd_length;
*ptr++ = '\'';
while (dir_length > 0) {
switch (*dir) {
case '\'':
*ptr++ = '\'';
*ptr++ = '\\';
*ptr++ = '\'';
/* fall-through */
default:
*ptr++ = *dir;
}
dir++;
dir_length--;
}
*ptr++ = '\'';
}
*ptr++ = ' ';
+162 -25
View File
@@ -1,4 +1,4 @@
dnl $Id$
dnl $Id$ -*- autoconf -*-
dnl
dnl This file contains local autoconf functions.
@@ -16,21 +16,35 @@ AC_DEFUN([PHP_ADD_MAKEFILE_FRAGMENT],[
sed -e "s#\$(srcdir)#$ac_srcdir#g" -e "s#\$(builddir)#$ac_builddir#g" $src >> Makefile.fragments
])
AC_DEFUN(PHP_PROG_RE2C,[
AC_DEFUN([PHP_PROG_RE2C],[
AC_CHECK_PROG(RE2C, re2c, re2c, [exit 0;])
])
dnl PHP_DEFINE(WHAT[, value])
dnl PHP_DEFINE(WHAT[, value[, directory]])
dnl
dnl Creates builddir/include/what.h and in there #define WHAT value
dnl
AC_DEFUN([PHP_DEFINE],[
[echo "#define ]$1[]ifelse([$2],,[ 1],[ $2])[" > include/php_]translit($1,A-Z,a-z)[.h]
[echo "#define ]$1[]ifelse([$2],,[ 1],[ $2])[" > ]ifelse([$3],,[include],[$3])[/php_]translit($1,A-Z,a-z)[.h]
])
dnl PHP_CANONICAL_HOST
dnl
AC_DEFUN([PHP_CANONICAL_HOST],[
AC_REQUIRE([AC_CANONICAL_HOST])dnl
dnl Make sure we do not continue if host_alias is empty.
if test -z "$host_alias" && test -n "$host"; then
host_alias=$host
fi
if test -z "$host_alias"; then
AC_MSG_ERROR([host_alias is not set!])
fi
])
dnl PHP_INIT_BUILD_SYSTEM
dnl
AC_DEFUN([PHP_INIT_BUILD_SYSTEM],[
AC_REQUIRE([PHP_CANONICAL_HOST])dnl
test -d include || mkdir include
> Makefile.objects
> Makefile.fragments
@@ -277,6 +291,7 @@ int readdir_r(DIR *, struct dirent *);
])
AC_DEFUN([PHP_SHLIB_SUFFIX_NAME],[
AC_REQUIRE([PHP_CANONICAL_HOST])dnl
PHP_SUBST(SHLIB_SUFFIX_NAME)
SHLIB_SUFFIX_NAME=so
case $host_alias in
@@ -775,12 +790,17 @@ AC_DEFUN([PHP_BUILD_PROGRAM],[
php_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS)'
php_cxx_post=' && echo > $[@]'
php_lo=o
case $with_pic in
yes) pic_setting='-prefer-pic';;
no) pic_setting='-prefer-non-pic';;
esac
shared_c_pre='$(LIBTOOL) --mode=compile $(CC)'
shared_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) -prefer-pic'
shared_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) '$pic_setting
shared_c_post=
shared_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)'
shared_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) -prefer-pic'
shared_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) '$pic_setting
shared_cxx_post=
shared_lo=lo
@@ -1160,14 +1180,26 @@ dnl from object_var in build-dir.
dnl
AC_DEFUN([PHP_SHARED_MODULE],[
install_modules="install-modules"
PHP_MODULES="$PHP_MODULES \$(phplibdir)/$1.la"
case $host_alias in
*darwin*[)]
suffix=so
link_cmd='ifelse($4,,[$(CC)],[$(CXX)]) -dynamic -flat_namespace -bundle -undefined suppress $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -o [$]@ $(EXTRA_LDFLAGS) $($2) $(translit($1,a-z_-,A-Z__)_SHARED_LIBADD)'
;;
*[)]
suffix=la
link_cmd='$(LIBTOOL) --mode=link ifelse($4,,[$(CC)],[$(CXX)]) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -o [$]@ -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $($2) $(translit($1,a-z_-,A-Z__)_SHARED_LIBADD)'
;;
esac
PHP_MODULES="$PHP_MODULES \$(phplibdir)/$1.$suffix"
PHP_SUBST($2)
cat >>Makefile.objects<<EOF
\$(phplibdir)/$1.la: $3/$1.la
\$(LIBTOOL) --mode=install cp $3/$1.la \$(phplibdir)
\$(phplibdir)/$1.$suffix: $3/$1.$suffix
\$(LIBTOOL) --mode=install cp $3/$1.$suffix \$(phplibdir)
$3/$1.la: \$($2) \$(translit($1,a-z_-,A-Z__)_SHARED_DEPENDENCIES)
\$(LIBTOOL) --mode=link ifelse($4,,[\$(CC)],[\$(CXX)]) \$(COMMON_FLAGS) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(LDFLAGS) -o \[$]@ -export-dynamic -avoid-version -prefer-pic -module -rpath \$(phplibdir) \$(EXTRA_LDFLAGS) \$($2) \$(translit($1,a-z_-,A-Z__)_SHARED_LIBADD)
$3/$1.$suffix: \$($2) \$(translit($1,a-z_-,A-Z__)_SHARED_DEPENDENCIES)
$link_cmd
EOF
])
@@ -1559,7 +1591,7 @@ AC_DEFUN([PHP_CHECK_LIBRARY], [
],[
LDFLAGS=$save_old_LDFLAGS
ext_shared=$save_ext_shared
unset ac_cv_func_$1
unset ac_cv_lib_$1[]_$2
$4
])dnl
])
@@ -1584,6 +1616,64 @@ AC_DEFUN([PHP_CHECK_FRAMEWORK], [
])
])
dnl
dnl PHP_SETUP_KERBEROS(shared-add [, action-found [, action-not-found]])
dnl
dnl Common setup macro for kerberos
dnl
AC_DEFUN([PHP_SETUP_KERBEROS],[
found_kerberos=no
unset KERBEROS_CFLAGS
unset KERBEROS_LIBS
dnl First try to find krb5-config
if test -z "$KRB5_CONFIG"; then
AC_PATH_PROG(KRB5_CONFIG, krb5-config, no, [$PATH:/usr/kerberos/bin:/usr/local/bin])
fi
dnl If krb5-config is found try using it
if test "$PHP_KERBEROS" = "yes" && test -x "$KRB5_CONFIG"; then
KERBEROS_LIBS=`$KRB5_CONFIG --libs gssapi`
KERBEROS_CFLAGS=`$KRB5_CONFIG --cflags gssapi`
if test -n "$KERBEROS_LIBS" && test -n "$KERBEROS_CFLAGS"; then
found_kerberos=yes
PHP_EVAL_LIBLINE($KERBEROS_LIBS, $1)
PHP_EVAL_INCLINE($KERBEROS_CFLAGS)
fi
fi
dnl If still not found use old skool method
if test "$found_kerberos" = "no"; then
if test "$PHP_KERBEROS" = "yes"; then
PHP_KERBEROS="/usr/kerberos /usr/local /usr"
fi
for i in $PHP_KERBEROS; do
if test -f $i/lib/libkrb5.a || test -f $i/lib/libkrb5.$SHLIB_SUFFIX_NAME; then
PHP_KERBEROS_DIR=$i
break
fi
done
if test "$PHP_KERBEROS_DIR"; then
found_kerberos=yes
PHP_ADD_LIBPATH($PHP_KERBEROS_DIR/lib, $1)
PHP_ADD_LIBRARY(gssapi_krb5, 1, $1)
PHP_ADD_LIBRARY(krb5, 1, $1)
PHP_ADD_LIBRARY(k5crypto, 1, $1)
PHP_ADD_LIBRARY(com_err, 1, $1)
PHP_ADD_INCLUDE($PHP_KERBEROS_DIR/include)
fi
fi
if test "$found_kerberos" = "yes"; then
ifelse([$2],[],:,[$2])
ifelse([$3],[],,[else $3])
fi
])
dnl
dnl PHP_SETUP_OPENSSL(shared-add [, action-found [, action-not-found]])
dnl
@@ -1594,13 +1684,20 @@ AC_DEFUN([PHP_SETUP_OPENSSL],[
unset OPENSSL_INCDIR
unset OPENSSL_LIBDIR
dnl Fallbacks for different configure options
if test "$PHP_OPENSSL" != "no"; then
PHP_OPENSSL_DIR=$PHP_OPENSSL
elif test "$PHP_IMAP_SSL" != "no"; then
PHP_OPENSSL_DIR=$PHP_IMAP_SSL
fi
dnl First try to find pkg-config
if test -z "$PKG_CONFIG"; then
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
fi
dnl If pkg-config is found try using it
if test "$PHP_OPENSSL" = "yes" && test -x "$PKG_CONFIG" && $PKG_CONFIG --exists openssl; then
if test "$PHP_OPENSSL_DIR" = "yes" && test -x "$PKG_CONFIG" && $PKG_CONFIG --exists openssl; then
if $PKG_CONFIG --atleast-version=0.9.6 openssl; then
found_openssl=yes
OPENSSL_LIBS=`$PKG_CONFIG --libs openssl`
@@ -1614,15 +1711,16 @@ AC_DEFUN([PHP_SETUP_OPENSSL],[
PHP_EVAL_LIBLINE($OPENSSL_LIBS, $1)
PHP_EVAL_INCLINE($OPENSSL_INCS)
fi
fi
else
dnl If pkg-config fails for some reason, revert to the old method
if test "$PHP_OPENSSL" = "yes"; then
PHP_OPENSSL="/usr/local/ssl /usr/local /usr /usr/local/openssl"
dnl If pkg-config fails for some reason, revert to the old method
if test "$found_openssl" = "no"; then
if test "$PHP_OPENSSL_DIR" = "yes"; then
PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl"
fi
for i in $PHP_OPENSSL; do
for i in $PHP_OPENSSL_DIR; do
if test -r $i/include/openssl/evp.h; then
OPENSSL_INCDIR=$i/include
fi
@@ -1680,11 +1778,11 @@ AC_DEFUN([PHP_SETUP_OPENSSL],[
PHP_ADD_LIBPATH($OPENSSL_LIBDIR, $1)
fi
if test "$found_openssl" = "yes"; then
dnl For apache 1.3.x static build
OPENSSL_INCDIR_OPT=-I$OPENSSL_INCDIR
AC_SUBST(OPENSSL_INCDIR_OPT)
if test "$found_openssl" = "yes"; then
ifelse([$2],[],:,[$2])
ifelse([$3],[],,[else $3])
fi
@@ -1699,16 +1797,28 @@ AC_DEFUN([PHP_SETUP_ICONV], [
found_iconv=no
unset ICONV_DIR
# Create the directories for a VPATH build:
test -d ext || mkdir ext
test -d ext/iconv || mkdir ext/iconv
echo > ext/iconv/php_have_bsd_iconv.h
echo > ext/iconv/php_have_glibc_iconv.h
echo > ext/iconv/php_have_libiconv.h
echo > ext/iconv/php_have_iconv.h
echo > ext/iconv/php_php_iconv_impl.h
echo > ext/iconv/php_php_iconv_h_path.h
echo > ext/iconv/php_iconv_supports_errno.h
dnl
dnl Check libc first if no path is provided in --with-iconv
dnl
if test "$PHP_ICONV" = "yes"; then
AC_CHECK_FUNC(iconv, [
PHP_DEFINE(HAVE_ICONV)
PHP_DEFINE(HAVE_ICONV,1,[ext/iconv])
found_iconv=yes
],[
AC_CHECK_FUNC(libiconv,[
PHP_DEFINE(HAVE_LIBICONV)
PHP_DEFINE(HAVE_LIBICONV,1,[ext/iconv])
found_iconv=yes
])
])
@@ -1741,11 +1851,11 @@ AC_DEFUN([PHP_SETUP_ICONV], [
then
PHP_CHECK_LIBRARY($iconv_lib_name, libiconv, [
found_iconv=yes
PHP_DEFINE(HAVE_LIBICONV)
PHP_DEFINE(HAVE_LIBICONV,1,[ext/iconv])
], [
PHP_CHECK_LIBRARY($iconv_lib_name, iconv, [
found_iconv=yes
PHP_DEFINE(HAVE_ICONV)
PHP_DEFINE(HAVE_ICONV,1,[ext/iconv])
], [], [
-L$ICONV_DIR/lib
])
@@ -1850,3 +1960,30 @@ IFS="- /.
APACHE_VERSION=`expr [$]4 \* 1000000 + [$]5 \* 1000 + [$]6`
])
dnl
dnl PHP_C_BIGENDIAN
dnl Replacement macro for AC_C_BIGENDIAN
dnl
AC_DEFUN([PHP_C_BIGENDIAN],
[AC_CACHE_CHECK([whether byte ordering is bigendian], ac_cv_c_bigendian_php,
[
ac_cv_c_bigendian_php=unknown
AC_TRY_RUN(
[
int main(void)
{
short one = 1;
char *cp = (char *)&one;
if (*cp == 0) {
return(0);
} else {
return(1);
}
}
], [ac_cv_c_bigendian_php=yes], [ac_cv_c_bigendian_php=no], [ac_cv_c_bigendian_php=unknown])
])
if test $ac_cv_c_bigendian_php = yes; then
AC_DEFINE(WORDS_BIGENDIAN, [], [Define if processor uses big-endian word])
fi
])
+5 -9
View File
@@ -32,6 +32,7 @@ acconfig_h_SOURCES = acconfig.h.in $(config_h_files)
targets = $(TOUCH_FILES) configure $(config_h_in)
SUPPRESS_WARNINGS ?= 2>&1 | (egrep -v '(AC_TRY_RUN called without default to allow cross compiling|AC_PROG_CXXCPP was called before AC_PROG_CXX|defined in acinclude.m4 but never used|AC_PROG_LEX invoked multiple times|AC_DECL_YYTEXT is expanded from...|the top level)'||true)
all: $(targets)
@@ -39,26 +40,21 @@ acconfig.h: $(acconfig_h_SOURCES)
@echo rebuilding $@
cat $(acconfig_h_SOURCES) > $@
SUPPRESS_WARNINGS = (egrep -v '(AC_TRY_RUN called without default to allow cross compiling|AC_PROG_CXXCPP was called before AC_PROG_CXX|defined in acinclude.m4 but never used|AC_PROG_LEX invoked multiple times)'||true)
$(config_h_in): configure acconfig.h
# explicitly remove target since autoheader does not seem to work
# correctly otherwise (timestamps are not updated)
@echo rebuilding $@
@rm -f $@
@autoheader 2>&1 | $(SUPPRESS_WARNINGS)
autoheader $(SUPPRESS_WARNINGS)
$(TOUCH_FILES):
touch $(TOUCH_FILES)
aclocal.m4: configure.in acinclude.m4
@echo rebuilding $@
@libtoolize=`./build/shtool path glibtoolize libtoolize`; \
$$libtoolize --copy --automake; \
ltpath=`dirname $$libtoolize`; \
ltfile=`cd $$ltpath/../share/aclocal; pwd`/libtool.m4; \
cat acinclude.m4 $$ltfile > $@
cat acinclude.m4 ./build/libtool.m4 > $@
configure: aclocal.m4 configure.in $(config_m4_files)
@echo rebuilding $@
@autoconf 2>&1 | $(SUPPRESS_WARNINGS)
autoconf $(SUPPRESS_WARNINGS)
+2 -43
View File
@@ -16,7 +16,7 @@
# | Sascha Schumann <sascha@schumann.cx> |
# +----------------------------------------------------------------------+
#
# $Id: buildcheck.sh,v 1.21.2.6 2003-09-28 13:37:59 tal Exp $
# $Id: buildcheck.sh,v 1.21.2.11 2005-01-20 01:43:18 sniper Exp $
#
echo "buildconf: checking installation..."
@@ -41,53 +41,12 @@ else
echo "buildconf: autoconf version $ac_version (ok)"
fi
if test "$1" = "2" && test "$2" -ge "50"; then
echo "buildconf: Your version of autoconf likely contains buggy cache code."
echo " Running cvsclean for you."
echo " To avoid this, install autoconf-2.13 and automake-1.5."
echo "buildconf: running cvsclean."
./cvsclean
stamp=
fi
# libtoolize 1.4.3 or newer
# Prefer glibtoolize over libtoolize for Mac OS X compatibility
libtoolize=`./build/shtool path glibtoolize libtoolize 2> /dev/null`
lt_pversion=`$libtoolize --version 2>/dev/null|head -n 1|sed -e 's/^[^0-9]*//'`
if test "$lt_pversion" = ""; then
echo "buildconf: libtool not found."
echo " You need libtool version 1.4.3 or newer installed"
echo " to build PHP from CVS."
exit 1
fi
IFS=.; set $lt_pversion; IFS=' '
if test "$3" = ""; then
third=0
else
third=$3
fi
if test "$1" -gt "1" || test "$2" -ge "5" || (test "$2" -ge "4" && test "$third" -ge "3")
then
echo "buildconf: libtool version $lt_pversion (ok)"
else
echo "buildconf: libtool version $lt_pversion found."
echo " You need libtool version 1.4.3 or newer installed"
echo " to build PHP from CVS."
exit 1
fi
ltpath=`echo $libtoolize | sed -e 's#/[^/]*/[^/]*$##'`
ltfile="$ltpath/share/aclocal/libtool.m4"
if test -r "$ltfile"; then
:
else
echo "buildconf: $ltfile does not exist."
echo " Please reinstall libtool."
exit 1
fi
test -n "$stamp" && touch $stamp
exit 0
+3713
View File
File diff suppressed because it is too large. Load diff
+50 -41
View File
@@ -3,62 +3,71 @@
eval `grep '^EXTRA_VERSION=' configure.in`
case "$EXTRA_VERSION" in
*-dev)
dev=1
;;
*)
dev=0
;;
*-dev)
dev=1
;;
*)
dev=0
;;
esac
devok=0
debug=no
while test $# -gt 0; do
if test "$1" = "--copy"; then
automake_flags=--copy
fi
if test "$1" = "--copy"; then
automake_flags=--copy
fi
if test "$1" = "--force"; then
devok=1
echo "Forcing buildconf"
fi
if test "$1" = "--force"; then
devok=1
echo "Forcing buildconf"
fi
shift
if test "$1" = "--debug"; then
debug=yes
fi
shift
done
if test "$dev" = "0" -a "$devok" = "0"; then
echo "You should not run buildconf in a release package."
echo "use buildconf --force to override this check."
exit 1
echo "You should not run buildconf in a release package."
echo "use buildconf --force to override this check."
exit 1
fi
if test -z "$ZENDDIR"; then
if grep "PHP_MAJOR_VERSION 5" main/php_version.h >/dev/null; then
v=5
else
v=4
fi
if test "$v" = "5"; then
if test -r "Zend/OBJECTS2_HOWTO"; then
:
else
mv Zend ZendEngine1 2>/dev/null
mv ZendEngine2 Zend
fi
else
if test -r "Zend/zend_execute_globals.h"; then
:
else
mv Zend ZendEngine2 2>/dev/null
mv ZendEngine1 Zend
fi
fi
if grep "PHP_MAJOR_VERSION 5" main/php_version.h >/dev/null; then
v=5
else
v=4
fi
ZENDDIR=Zend
echo "using default Zend directory"
if test "$v" = "5"; then
if test -r "Zend/OBJECTS2_HOWTO"; then
:
else
mv Zend ZendEngine1 2>/dev/null
mv ZendEngine2 Zend
fi
else
if test -r "Zend/zend_execute_globals.h"; then
:
else
mv Zend ZendEngine2 2>/dev/null
mv ZendEngine1 Zend
fi
fi
ZENDDIR=Zend
echo "using default Zend directory"
fi
rm -f generated_lists
${MAKE:-make} -s -f build/build.mk AMFLAGS="$automake_flags" ZENDDIR="$ZENDDIR"
if test "$debug" = "yes"; then
${MAKE:-make} -s -f build/build.mk AMFLAGS="$automake_flags" ZENDDIR="$ZENDDIR" SUPPRESS_WARNINGS=""
else
${MAKE:-make} -s -f build/build.mk AMFLAGS="$automake_flags" ZENDDIR="$ZENDDIR"
fi
+99 -53
View File
@@ -1,9 +1,9 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002 Free Software Foundation, Inc.
# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
timestamp='2002-10-21'
timestamp='2003-01-10'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -98,14 +98,17 @@ trap 'exit 1' 1 2 15
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
# use `HOST_CC' if defined, but it is deprecated.
# This shell variable is my proudest work .. or something. --bje
# Portable tmp directory creation inspired by the Autoconf team.
set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ;
(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old)
|| (echo "$me: cannot create $tmpdir" >&2 && exit 1) ;
dummy=$tmpdir/dummy ;
files="$dummy.c $dummy.o $dummy.rel $dummy" ;
trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ;
set_cc_for_build='
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
{ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
dummy=$tmp/dummy ;
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
case $CC_FOR_BUILD,$HOST_CC,$CC in
,,) echo "int x;" > $dummy.c ;
for c in cc gcc c89 c99 ; do
@@ -113,15 +116,13 @@ case $CC_FOR_BUILD,$HOST_CC,$CC in
CC_FOR_BUILD="$c"; break ;
fi ;
done ;
rm -f $files ;
if test x"$CC_FOR_BUILD" = x ; then
CC_FOR_BUILD=no_compiler_found ;
fi
;;
,,*) CC_FOR_BUILD=$CC ;;
,*,*) CC_FOR_BUILD=$HOST_CC ;;
esac ;
unset files'
esac ;'
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
@@ -178,7 +179,18 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
;;
esac
# The OS release
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
# Debian GNU/NetBSD machines have a different userland, and
# thus, need a distinct triplet. However, they do not need
# kernel version information, so it can be replaced with a
# suitable tag, in the style of linux-gnu.
case "${UNAME_VERSION}" in
Debian*)
release='-gnu'
;;
*)
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
@@ -223,6 +235,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:OpenBSD:*:*)
echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
*:MicroBSD:*:*)
echo ${UNAME_MACHINE}-unknown-microbsd${UNAME_RELEASE}
exit 0 ;;
alpha:OSF1:*:*)
if test $UNAME_RELEASE = "V4.0"; then
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
@@ -286,7 +301,6 @@ EOF
;;
esac
fi
rm -f $dummy.s $dummy && rmdir $tmpdir
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
exit 0 ;;
Alpha\ *:Windows_NT*:*)
@@ -439,8 +453,7 @@ EOF
EOF
$CC_FOR_BUILD -o $dummy $dummy.c \
&& $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
&& rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
rm -f $dummy.c $dummy && rmdir $tmpdir
&& exit 0
echo mips-mips-riscos${UNAME_RELEASE}
exit 0 ;;
Motorola:PowerMAX_OS:*:*)
@@ -449,7 +462,7 @@ EOF
Motorola:*:4.3:PL8-*)
echo powerpc-harris-powermax
exit 0 ;;
Night_Hawk:*:*:PowerMAX_OS)
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
echo powerpc-harris-powermax
exit 0 ;;
Night_Hawk:Power_UNIX:*:*)
@@ -524,8 +537,7 @@ EOF
exit(0);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
rm -f $dummy.c $dummy && rmdir $tmpdir
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
echo rs6000-ibm-aix3.2.5
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
@@ -624,10 +636,20 @@ EOF
}
EOF
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
rm -f $dummy.c $dummy && rmdir $tmpdir
test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
if [ ${HP_ARCH} = "hppa2.0w" ]
then
# avoid double evaluation of $set_cc_for_build
test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
then
HP_ARCH="hppa2.0w"
else
HP_ARCH="hppa64"
fi
fi
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
exit 0 ;;
ia64:HP-UX:*:*)
@@ -661,8 +683,7 @@ EOF
exit (0);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
rm -f $dummy.c $dummy && rmdir $tmpdir
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
echo unknown-hitachi-hiuxwe2
exit 0 ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
@@ -720,15 +741,15 @@ EOF
CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
CRAY*T3D:*:*:*)
echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
CRAY*T3E:*:*:*)
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
CRAY*SV1:*:*:*)
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
*:UNICOS/mp:*:*)
echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
@@ -756,7 +777,6 @@ EOF
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
rm -f $dummy.c && rmdir $tmpdir
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
exit 0 ;;
i*:CYGWIN*:*)
@@ -769,13 +789,16 @@ EOF
echo ${UNAME_MACHINE}-pc-pw32
exit 0 ;;
x86:Interix*:3*)
echo i386-pc-interix3
echo i586-pc-interix3
exit 0 ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
exit 0 ;;
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
# UNAME_MACHINE based on the output of uname instead of i386?
echo i386-pc-interix
echo i586-pc-interix
exit 0 ;;
i*:UWIN*:*)
echo ${UNAME_MACHINE}-pc-uwin
@@ -818,8 +841,26 @@ EOF
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
rm -f $dummy.c && rmdir $tmpdir
test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
;;
mips64:Linux:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#undef CPU
#undef mips64
#undef mips64el
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
CPU=mips64el
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
CPU=mips64
#else
CPU=
#endif
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
;;
ppc:Linux:*:*)
echo powerpc-unknown-linux-gnu
@@ -914,7 +955,6 @@ EOF
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
rm -f $dummy.c && rmdir $tmpdir
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
;;
@@ -932,6 +972,23 @@ EOF
# Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
exit 0 ;;
i*86:OS/2:*:*)
# If we were able to find `uname', then EMX Unix compatibility
# is probably installed.
echo ${UNAME_MACHINE}-pc-os2-emx
exit 0 ;;
i*86:XTS-300:*:STOP)
echo ${UNAME_MACHINE}-unknown-stop
exit 0 ;;
i*86:atheos:*:*)
echo ${UNAME_MACHINE}-unknown-atheos
exit 0 ;;
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
i*86:*DOS:*:*)
echo ${UNAME_MACHINE}-pc-msdosdjgpp
exit 0 ;;
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
@@ -966,9 +1023,6 @@ EOF
echo ${UNAME_MACHINE}-pc-sysv32
fi
exit 0 ;;
i*86:*DOS:*:*)
echo ${UNAME_MACHINE}-pc-msdosdjgpp
exit 0 ;;
pc:*:*:*)
# Left here for compatibility:
# uname -m prints for DJGPP always 'pc', but it prints nothing about
@@ -995,9 +1049,12 @@ EOF
mc68k:UNIX:SYSTEM5:3.51m)
echo m68k-convergent-sysv
exit 0 ;;
M680?0:D-NIX:5.3:*)
echo m68k-diab-dnix
exit 0 ;;
M68*:*:R3V[567]*:*)
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
@@ -1014,9 +1071,6 @@ EOF
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
exit 0 ;;
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
TSUNAMI:LynxOS:2.*:*)
echo sparc-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
@@ -1098,7 +1152,11 @@ EOF
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
exit 0 ;;
*:Darwin:*:*)
echo `uname -p`-apple-darwin${UNAME_RELEASE}
case `uname -p` in
*86) UNAME_PROCESSOR=i686 ;;
powerpc) UNAME_PROCESSOR=powerpc ;;
esac
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit 0 ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
@@ -1134,11 +1192,6 @@ EOF
fi
echo ${UNAME_MACHINE}-unknown-plan9
exit 0 ;;
i*86:OS/2:*:*)
# If we were able to find `uname', then EMX Unix compatibility
# is probably installed.
echo ${UNAME_MACHINE}-pc-os2-emx
exit 0 ;;
*:TOPS-10:*:*)
echo pdp10-unknown-tops10
exit 0 ;;
@@ -1157,12 +1210,6 @@ EOF
*:ITS:*:*)
echo pdp10-unknown-its
exit 0 ;;
i*86:XTS-300:*:STOP)
echo ${UNAME_MACHINE}-unknown-stop
exit 0 ;;
i*86:atheos:*:*)
echo ${UNAME_MACHINE}-unknown-atheos
exit 0 ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
@@ -1283,8 +1330,7 @@ main ()
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
rm -f $dummy.c $dummy && rmdir $tmpdir
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
# Apollos put the system type in the environment.
Vendored
+21 -22
View File
@@ -1,9 +1,9 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002 Free Software Foundation, Inc.
# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
timestamp='2002-09-05'
timestamp='2003-01-03'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -118,7 +118,7 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | freebsd*-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*)
nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
@@ -245,16 +245,19 @@ case $basic_machine in
| mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
| mipsisa64 | mipsisa64el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
| msp430 \
| ns16k | ns32k \
| openrisc | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
| s390 | s390x \
| sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
@@ -315,16 +318,19 @@ case $basic_machine in
| mips64vr4300-* | mips64vr4300el-* \
| mips64vr5000-* | mips64vr5000el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39 | mipstx39el \
| none-* | np1-* | ns16k-* | ns32k-* \
| mipstx39-* | mipstx39el-* \
| msp430-* \
| none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| romp-* | rs6000-* \
| s390-* | s390x-* \
| sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
@@ -716,6 +722,10 @@ case $basic_machine in
np1)
basic_machine=np1-gould
;;
nv1)
basic_machine=nv1-cray
os=-unicosmp
;;
nsr-tandem)
basic_machine=nsr-tandem
;;
@@ -812,12 +822,6 @@ case $basic_machine in
rtpc | rtpc-*)
basic_machine=romp-ibm
;;
s390 | s390-*)
basic_machine=s390-ibm
;;
s390x | s390x-*)
basic_machine=s390x-ibm
;;
sa29200)
basic_machine=a29k-amd
os=-udi
@@ -901,10 +905,6 @@ case $basic_machine in
basic_machine=i386-sequent
os=-dynix
;;
t3d)
basic_machine=alpha-cray
os=-unicos
;;
t3e)
basic_machine=alphaev5-cray
os=-unicos
@@ -977,10 +977,6 @@ case $basic_machine in
basic_machine=hppa1.1-winbond
os=-proelf
;;
windows32)
basic_machine=i386-pc
os=-windows32-msvcrt
;;
xps | xps100)
basic_machine=xps100-honeywell
;;
@@ -1113,11 +1109,12 @@ case $os in
| -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* | -powermax*)
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -microbsd*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1129,8 +1126,10 @@ case $os in
;;
esac
;;
-nto-qnx*)
;;
-nto*)
os=-nto-qnx
os=`echo $os | sed -e 's|nto|nto-qnx|'`
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
| -windows* | -osx | -abug | -netware* | -os9* | -beos* \
+64 -38
View File
@@ -35,20 +35,20 @@ for arg in $0 "$@"; do
CONFIGURE_COMMAND="$CONFIGURE_COMMAND '$arg'"
done
AC_CANONICAL_HOST
PHP_CANONICAL_HOST
AC_CONFIG_HEADER(main/php_config.h)
MAJOR_VERSION=4
MINOR_VERSION=3
RELEASE_VERSION=9
RELEASE_VERSION=11
EXTRA_VERSION=""
VERSION="$MAJOR_VERSION.$MINOR_VERSION.$RELEASE_VERSION$EXTRA_VERSION"
dnl Define where extension directories are located in the configure context
AC_DEFUN(PHP_EXT_BUILDDIR,[ext/$1])dnl
AC_DEFUN(PHP_EXT_DIR,[ext/$1])dnl
AC_DEFUN(PHP_EXT_SRCDIR,[$abs_srcdir/ext/$1])dnl
AC_DEFUN(PHP_ALWAYS_SHARED,[])dnl
AC_DEFUN([PHP_EXT_BUILDDIR],[ext/$1])dnl
AC_DEFUN([PHP_EXT_DIR],[ext/$1])dnl
AC_DEFUN([PHP_EXT_SRCDIR],[$abs_srcdir/ext/$1])dnl
AC_DEFUN([PHP_ALWAYS_SHARED],[])dnl
dnl Setting up the PHP version based on the information above.
dnl -------------------------------------------------------------------------
@@ -81,6 +81,10 @@ if test -n "$with_apache" && test -n "$with_apxs"; then
AC_MSG_ERROR([--with-apache and --with-apxs cannot be used together])
fi
if test -n "$with_apxs2filter" && test -n "$with_apxs2"; then
AC_MSG_ERROR([--with-apxs2filter and --with-apxs2 cannot be used together])
fi
dnl Settings we want to make before the checks.
dnl -------------------------------------------------------------------------
@@ -128,7 +132,6 @@ dnl check for -R, etc. switch
PHP_RUNPATH_SWITCH
PHP_PROG_RE2C
AC_PROG_RANLIB
AC_PROG_LN_S
AC_PROG_AWK
AC_PROG_YACC
@@ -170,14 +173,13 @@ else
AC_MSG_WARN(You will need flex 2.5.4 or later if you want to regenerate Zend/PHP lexical parsers.)
fi
dnl Check whether byte ordering is bigendian
PHP_C_BIGENDIAN
dnl Platform-specific compile settings.
dnl -------------------------------------------------------------------------
dnl if host_alias is empty, ac_cv_host_alias may still have the info
if test -z "$host_alias"; then
host_alias=$ac_cv_host_alias
fi
case $host_alias in
*solaris*)
CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS"
@@ -196,6 +198,26 @@ case $host_alias in
LIBS="$LIBS -lbe -lroot";;
*mips*)
CPPFLAGS="$CPPFLAGS -D_XPG_IV";;
*hpux*)
if test "$GCC" = "yes"; then
CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
fi
;;
esac
# Disable PIC mode by default where it is known to be safe to do so,
# to avoid the performance hit from the lost register
AC_MSG_CHECKING([whether to force non-PIC code in shared modules])
case $host_alias in
i?86-*-linux*|i?86-*-freebsd*)
if test "${with_pic+set}" != "set" || test "$with_pic" = "no"; then
with_pic=no
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
;;
*) AC_MSG_RESULT(no) ;;
esac
@@ -278,7 +300,6 @@ if test -d /usr/pkg/include -a -d /usr/pkg/lib ; then
CPPFLAGS="$CPPFLAGS -I/usr/pkg/include"
LDFLAGS="$LDFLAGS -L/usr/pkg/lib"
fi
INCLUDES="$INCLUDES -I\$(top_builddir)/Zend"
test -d /usr/ucblib && PHP_ADD_LIBPATH(/usr/ucblib)
@@ -323,6 +344,8 @@ AC_HEADER_DIRENT
PHP_MISSING_FCLOSE_DECL
dnl QNX requires unix.h to allow functions in libunix to work properly
AC_CHECK_HEADERS([ \
inttypes.h \
stdint.h \
dirent.h \
ApplicationServices/ApplicationServices.h \
sys/param.h \
@@ -528,17 +551,20 @@ AC_CACHE_CHECK([for getaddrinfo], ac_cv_func_getaddrinfo,
AC_TRY_RUN([
#include <netdb.h>
#include <sys/types.h>
#ifndef AF_INET
# include <sys/socket.h>
#endif
int main(void) {
struct addrinfo *ai, *pai, hints;
memset(&hints, 0, sizeof(hints));
hints.ai_flags = AI_NUMERICHOST;
if (getaddrinfo("127.0.0.1", NULL, &hints, &ai) < 0) {
if (getaddrinfo("127.0.0.1", 0, &hints, &ai) < 0) {
exit(1);
}
if (ai == NULL) {
if (ai == 0) {
exit(1);
}
@@ -567,8 +593,8 @@ fi
AC_REPLACE_FUNCS(strlcat strlcpy getopt)
AC_FUNC_UTIME_NULL
AC_FUNC_ALLOCA
PHP_AC_BROKEN_SPRINTF
PHP_AC_BROKEN_SNPRINTF
dnl PHP_AC_BROKEN_SPRINTF
dnl PHP_AC_BROKEN_SNPRINTF
PHP_DECLARED_TIMEZONE
PHP_TIME_R_TYPE
PHP_READDIR_R_TYPE
@@ -809,7 +835,6 @@ fi
enable_shared=yes
enable_static=yes
unset with_pic
case $php_build_target in
program|static)
@@ -820,7 +845,10 @@ program|static)
;;
shared)
enable_static=no
standard_libtool_flag=-prefer-pic
case $with_pic in
yes) standard_libtool_flag='-prefer-pic';;
no) standard_libtool_flag='-prefer-non-pic';;
esac
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -avoid-version -module"
;;
esac
@@ -846,6 +874,11 @@ if test -z "$with_pear" && test "$enable_pear" = "no"; then
with_pear=no
fi
# If CLI is disabled -> disable PEAR
if test "$PHP_SAPI_CLI" = "no"; then
with_pear=no
fi
PHP_ARG_WITH(pear, [whether to install PEAR],
[ --with-pear=DIR Install PEAR in DIR (default PREFIX/lib/php)
--without-pear Do not install PEAR], DEFAULT, yes)
@@ -855,17 +888,13 @@ if test "$PHP_PEAR" != "no"; then
dnl
dnl PEAR dependancies
dnl
if test "$PHP_SAPI_CLI" = "no"; then
pear_error_msg="$pear_error_msg
PEAR requires CLI to be enabled. Add --enable-cli to the configure line. (or --disable-pear)"
fi
if test "$PHP_PCRE_REGEX" = "no"; then
pear_error_msg="$pear_error_msg
PEAR requires PCRE to be enabled. Add --with-pcre-regex to the configure line. (or --disable-pear)"
PEAR requires PCRE to be enabled. Add --with-pcre-regex to the configure line. (or --without-pear)"
fi
if test "$PHP_XML" = "no"; then
pear_error_msg="$pear_error_msg
PEAR requires XML to be enabled. Add --enable-xml to the configure line. (or --disable-pear)"
PEAR requires XML to be enabled. Add --enable-xml to the configure line. (or --without-pear)"
fi
dnl
@@ -873,7 +902,7 @@ dnl ext/xmlrpc is not really there yet to be a requirement..
dnl
dnl if test "$PHP_XMLRPC" = "no"; then
dnl pear_error_msg="$pear_error_msg
dnl PEAR requires XML-RPC to be enabled. Add --with-xmlrpc to the configure line. (or --disable-pear)"
dnl PEAR requires XML-RPC to be enabled. Add --with-xmlrpc to the configure line. (or --without-pear)"
dnl fi
dnl
@@ -890,6 +919,8 @@ dnl
*) PEAR_INSTALLDIR=$libdir/php;;
esac
fi
PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/pear/Makefile.frag,$abs_srcdir/pear,pear)
fi
@@ -903,10 +934,6 @@ LIBZEND_BASIC_CHECKS
LIBZEND_DLSYM_CHECK
LIBZEND_OTHER_CHECKS
TSRM_LIB='TSRM/libtsrm.la'
TSRM_DIR=TSRM
CPPFLAGS="$CPPFLAGS -I\$(top_builddir)/TSRM"
if test "$ZEND_EXPERIMENTAL_ZTS" = "yes"; then
AC_DEFINE(ZTS,1,[ ])
PHP_THREAD_SAFETY=yes
@@ -914,9 +941,12 @@ else
PHP_THREAD_SAFETY=no
fi
INCLUDES="$INCLUDES -I\$(top_builddir)/TSRM"
INCLUDES="$INCLUDES -I\$(top_builddir)/Zend"
if test "$abs_srcdir" != "$abs_builddir"; then
INCLUDES="$INCLUDES -I\$(top_srcdir)/main -I\$(top_srcdir)/Zend"
INCLUDES="$INCLUDES -I\$(top_srcdir)/TSRM"
INCLUDES="$INCLUDES -I\$(top_srcdir)/TSRM -I\$(top_builddir)/"
fi
ZEND_EXTRA_LIBS="$LIBS"
@@ -1086,7 +1116,6 @@ PHP_SUBST(CXXFLAGS)
PHP_SUBST(CXXFLAGS_CLEAN)
PHP_SUBST(CXX_PHP_COMPILE)
PHP_SUBST_OLD(DEBUG_CFLAGS)
PHP_SUBST(DEFS)
PHP_SUBST_OLD(EXTENSION_DIR)
PHP_SUBST_OLD(EXTRA_LDFLAGS)
PHP_SUBST_OLD(EXTRA_LDFLAGS_PROGRAM)
@@ -1115,8 +1144,6 @@ PHP_SUBST(PROG_SENDMAIL)
PHP_SUBST(RE2C)
PHP_SUBST(SHELL)
PHP_SUBST(SHARED_LIBTOOL)
PHP_SUBST(TSRM_DIR)
PHP_SUBST(TSRM_LIB)
PHP_SUBST(WARNING_LEVEL)
PHP_SUBST(PHP_FRAMEWORKS)
PHP_SUBST(PHP_FRAMEWORKPATH)
@@ -1210,7 +1237,7 @@ PHP_ADD_SOURCES(Zend, \
zend_opcode.c zend_operators.c zend_ptr_stack.c zend_stack.c \
zend_variables.c zend.c zend_API.c zend_extensions.c zend_hash.c \
zend_list.c zend_indent.c zend_builtin_functions.c zend_sprintf.c \
zend_ini.c zend_qsort.c zend_multibyte.c)
zend_ini.c zend_qsort.c zend_multibyte.c zend_strtod.c)
if test -r "$abs_srcdir/Zend/zend_objects.c"; then
PHP_ADD_SOURCES(Zend, zend_objects.c zend_object_handlers.c zend_objects_API.c zend_mm.c)
@@ -1233,7 +1260,6 @@ PHP_ADD_BUILD_DIR(TSRM)
PHP_ADD_BUILD_DIR(Zend)
PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/scripts/Makefile.frag,$abs_srcdir/scripts,scripts)
PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/pear/Makefile.frag,$abs_srcdir/pear,pear)
PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/Makefile.frag,$abs_srcdir/Zend,Zend)
PHP_GEN_BUILD_DIRS
@@ -1259,12 +1285,12 @@ fi
#
test -d TSRM || $php_shtool mkdir TSRM
echo '#include "../main/php_config.h"' > TSRM/tsrm_config.h
echo '#include <../main/php_config.h>' > TSRM/tsrm_config.h
test -d Zend || $php_shtool mkdir Zend
cat >Zend/zend_config.h <<FEO
#include "../main/php_config.h"
#include <../main/php_config.h>
#if defined(APACHE) && defined(PHP_API_VERSION)
#undef HAVE_DLFCN_H
#endif
+4 -4
View File
@@ -19,7 +19,7 @@ dnl PARTICULAR PURPOSE.
dnl Usage:
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
AC_DEFUN(AM_INIT_AUTOMAKE,
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_REQUIRE([AC_PROG_INSTALL])
PACKAGE=[$1]
AC_SUBST(PACKAGE)
@@ -47,7 +47,7 @@ AC_REQUIRE([AC_PROG_MAKE_SET])])
# Check to make sure that the build environment is sane.
#
AC_DEFUN(AM_SANITY_CHECK,
AC_DEFUN([AM_SANITY_CHECK],
[AC_MSG_CHECKING([whether build environment is sane])
# Just in case
sleep 1
@@ -88,7 +88,7 @@ AC_MSG_RESULT(yes)])
dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
dnl The program must properly implement --version.
AC_DEFUN(AM_MISSING_PROG,
AC_DEFUN([AM_MISSING_PROG],
[AC_MSG_CHECKING(for working $2)
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
@@ -104,7 +104,7 @@ AC_SUBST($1)])
# Like AC_CONFIG_HEADER, but automatically create stamp file.
AC_DEFUN(AM_CONFIG_HEADER,
AC_DEFUN([AM_CONFIG_HEADER],
[AC_PREREQ([2.12])
AC_CONFIG_HEADER([$1])
dnl When config.status generates a header, we must update the stamp-h file.
+1 -1
View File
@@ -3,7 +3,7 @@
#elif defined(NETWARE)
#include "config.nw.h"
#else
#include "php_config.h"
#include <php_config.h>
#endif
#include <string.h>
+1
View File
@@ -92,6 +92,7 @@ bc_raisemod (bc_num base, bc_num expo, bc_num mod, bc_num *result, int scale TSR
bc_free_num (&power);
bc_free_num (&exponent);
bc_free_num (result);
bc_free_num (&parity);
*result = temp;
return 0; /* Everything is OK. */
}
+1 -1
View File
@@ -196,7 +196,7 @@ PHP_BZ2_API php_stream *_php_stream_bz2open(php_stream_wrapper *wrapper,
/* remove the file created by php_stream_open_wrapper(), it is not needed since BZ2 functions
* failed.
*/
if (!bz_file && mode[0] == 'w') {
if (opened_path && !bz_file && mode[0] == 'w') {
VCWD_UNLINK(*opened_path);
}
}
+8 -6
View File
@@ -1972,15 +1972,17 @@ PHPAPI void php_COM_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_pro
int type;
if (zend_llist_count(property_reference->elements_list)==1
&& !strcmp(Z_STRVAL(function_name->element), "com")) {
&& !strcmp(Z_STRVAL(function_name->element), "com")) {
zval *tmp;
/* constructor */
PHP_FN(com_load)(INTERNAL_FUNCTION_PARAM_PASSTHRU);
/* free instance created by 'new' */
zval_dtor(object);
/* and override it with the instance created by 'com_load()' */
*object = *return_value;
INIT_ZVAL(*return_value);
zend_hash_index_find(Z_OBJPROP_P(return_value), 0, (void**)&handle);
zend_list_addref(Z_RESVAL_PP(handle));
MAKE_STD_ZVAL(tmp);
ZVAL_RESOURCE(tmp, Z_RESVAL_PP(handle));
zend_hash_index_update(Z_OBJPROP_P(object), 0, &tmp, sizeof(tmp), NULL);
zval_dtor(&function_name->element);
return;
+30 -33
View File
@@ -1,6 +1,6 @@
dnl $Id$
AC_DEFUN(CPDF_JPEG_TEST,[
AC_DEFUN([CPDF_JPEG_TEST],[
AC_ARG_WITH(jpeg-dir,
[ --with-jpeg-dir[=DIR] CPDF: Set the path to libjpeg install prefix.],[
for i in $withval /usr/local /usr; do
@@ -10,7 +10,6 @@ AC_DEFUN(CPDF_JPEG_TEST,[
fi
done
if test -z "$CPDF_JPEG_DIR"; then
AC_MSG_CHECKING([for libjpeg (needed by cpdflib 2.x)])
AC_MSG_ERROR([libjpeg.(a|so) not found.])
fi
PHP_CHECK_LIBRARY(jpeg, jpeg_read_header, [
@@ -23,7 +22,7 @@ AC_DEFUN(CPDF_JPEG_TEST,[
],)
])
AC_DEFUN(CPDF_TIFF_TEST,[
AC_DEFUN([CPDF_TIFF_TEST],[
AC_ARG_WITH(tiff-dir,
[ --with-tiff-dir[=DIR] CPDF: Set the path to libtiff install prefix.],[
for i in $withval /usr/local /usr; do
@@ -33,7 +32,6 @@ AC_DEFUN(CPDF_TIFF_TEST,[
fi
done
if test -z "$CPDF_TIFF_DIR"; then
AC_MSG_CHECKING([for libtiff (needed by cpdflib 2.x)])
AC_MSG_ERROR([libtiff.(a|so) not found.])
fi
PHP_CHECK_LIBRARY(tiff, TIFFOpen, [
@@ -46,42 +44,41 @@ AC_DEFUN(CPDF_TIFF_TEST,[
],)
])
AC_MSG_CHECKING(for cpdflib support)
AC_ARG_WITH(cpdflib,
[ --with-cpdflib[=DIR] Include cpdflib support (requires cpdflib >= 2).],
[
PHP_WITH_SHARED
if test "$withval" != "no"; then
cpdf_withval=$withval
PHP_NEW_EXTENSION(cpdf, cpdf.c, $ext_shared,, \\$(GDLIB_CFLAGS))
PHP_SUBST(CPDF_SHARED_LIBADD)
CPDF_JPEG_TEST
CPDF_TIFF_TEST
PHP_ARG_WITH(cpdflib, for cpdflib support,
[ --with-cpdflib[=DIR] Include cpdflib support (requires cpdflib >= 2).])
for i in $cpdf_withval /usr/local /usr; do
if test -f "$i/include/cpdflib.h"; then
CPDFLIB_INCLUDE=$i/include
AC_MSG_CHECKING(for cpdflib.h)
AC_MSG_RESULT([in $i/include])
if test "$PHP_CPDFLIB" != "no"; then
PHP_NEW_EXTENSION(cpdf, cpdf.c, $ext_shared,, \\$(GDLIB_CFLAGS))
PHP_SUBST(CPDF_SHARED_LIBADD)
CPDF_JPEG_TEST
CPDF_TIFF_TEST
PHP_CHECK_LIBRARY(cpdf, cpdf_open, [
PHP_ADD_INCLUDE($CPDFLIB_INCLUDE)
PHP_ADD_LIBRARY_WITH_PATH(cpdf, $i/lib, CPDF_SHARED_LIBADD)
AC_DEFINE(HAVE_CPDFLIB,1,[Whether you have cpdflib])
for i in $PHP_CPDFLIB /usr/local /usr; do
if test -f "$i/include/cpdflib.h"; then
CPDFLIB_INCLUDE=$i/include
PHP_CHECK_LIBRARY(cpdf, cpdf_open, [
cpdf_libname=cpdf
], [
PHP_CHECK_LIBRARY(cpdfm, cpdf_open, [
cpdf_libname=cpdfm
], [
AC_MSG_ERROR([Cpdflib module requires cpdflib >= 2.])
], [
-L$i/lib $CPDF_SHARED_LIBADD
])
break
fi
done
], [
-L$i/lib $CPDF_SHARED_LIBADD
])
if test -z "$CPDFLIB_INCLUDE"; then
AC_MSG_CHECKING(for cpdflib.h)
AC_MSG_ERROR([not found])
PHP_ADD_LIBRARY_WITH_PATH($cpdf_libname, $i/lib, CPDF_SHARED_LIBADD)
PHP_ADD_INCLUDE($CPDFLIB_INCLUDE)
AC_DEFINE(HAVE_CPDFLIB,1,[Whether you have cpdflib])
break
fi
done
if test -z "$CPDFLIB_INCLUDE"; then
AC_MSG_ERROR([cpdflib.h not found])
fi
],[
AC_MSG_RESULT(no)
])
fi
+3 -1
View File
@@ -1563,7 +1563,9 @@ PHP_FUNCTION(cpdf_setdash)
php_error(E_WARNING, "%s(): Unable to find identifier %d", get_active_function_name(TSRMLS_C), id);
RETURN_FALSE;
}
if (!pdf->currentMemStream) {
RETURN_FALSE;
}
snprintf(buffer, BUFFERLEN, "[%d %d] 0", (int) Z_LVAL_P(arg2), (int) Z_LVAL_P(arg3));
cpdf_setdash(pdf, buffer);
+1
View File
@@ -9,6 +9,7 @@ if test "$PHP_CRACK" != "no"; then
for i in $PHP_CRACK/lib $PHP_CRACK/cracklib /usr/local/lib /usr/lib; do
test -f $i/libcrack.$SHLIB_SUFFIX_NAME -o -f $i/libcrack.a && CRACK_LIBDIR=$i && break
test -f $i/libcrack_krb5.$SHLIB_SUFFIX_NAME -o -f $i/libcrack_krb5.a && CRACK_LIBDIR=$i && break
done
if test -z "$CRACK_LIBDIR"; then
+1
View File
@@ -230,6 +230,7 @@ ZEND_FUNCTION(crack_check)
if (zend_get_parameters_ex(2, &dictionary, &password) == FAILURE) {
RETURN_FALSE;
}
id = Z_LVAL_PP(dictionary);
break;
default:
WRONG_PARAM_COUNT;
+1 -1
View File
@@ -99,7 +99,7 @@ PHP_MINFO_FUNCTION(ctype)
case IS_LONG: \
if (Z_LVAL_P(c) <= 255 && Z_LVAL_P(c) >= 0) { \
RETURN_BOOL(iswhat(Z_LVAL_P(c))); \
} else if (Z_LVAL_P(c) >= -128) { \
} else if (Z_LVAL_P(c) >= -128 && Z_LVAL_P(c) < 0) { \
RETURN_BOOL(iswhat(Z_LVAL_P(c) + 256)); \
} \
SEPARATE_ZVAL(&c); \
+2 -2
View File
@@ -32,10 +32,10 @@ if test "$PHP_CURL" != "no"; then
CURL_CONFIG="curl-config"
AC_MSG_CHECKING(for cURL 7.9.8 or greater)
if ${CURL_DIR}/bin/curl-config --libs print > /dev/null 2>&1; then
if ${CURL_DIR}/bin/curl-config --libs > /dev/null 2>&1; then
CURL_CONFIG=${CURL_DIR}/bin/curl-config
else
if ${CURL_DIR}/curl-config --libs print > /dev/null 2>&1; then
if ${CURL_DIR}/curl-config --libs > /dev/null 2>&1; then
CURL_CONFIG=${CURL_DIR}/curl-config
fi
fi
+54 -15
View File
@@ -50,6 +50,7 @@
#include "ext/standard/php_smart_str.h"
#include "ext/standard/info.h"
#include "ext/standard/file.h"
#include "ext/standard/url.h"
#include "php_curl.h"
static int le_curl;
@@ -64,6 +65,26 @@ static void _php_curl_close(zend_rsrc_list_entry *rsrc TSRMLS_DC);
#define CAAS(s, v) add_assoc_string_ex(return_value, s, sizeof(s), (char *) v, 1);
#define CAAZ(s, v) add_assoc_zval_ex(return_value, s, sizeof(s), (zval *) v);
#define PHP_CURL_CHECK_OPEN_BASEDIR(str, len) \
if (PG(open_basedir) && *PG(open_basedir) && \
strncasecmp(str, "file://", sizeof("file://") - 1) == 0) \
{ \
php_url *tmp_url; \
\
if (!(tmp_url = php_url_parse_ex(str, len))) { \
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid url '%s'", str); \
RETURN_FALSE; \
} \
\
if (php_check_open_basedir(tmp_url->path TSRMLS_CC) || \
(PG(safe_mode) && !php_checkuid(tmp_url->path, "rb+", CHECKUID_CHECK_MODE_PARAM)) \
) { \
php_url_free(tmp_url); \
RETURN_FALSE; \
} \
php_url_free(tmp_url); \
}
/* {{{ curl_functions[]
*/
function_entry curl_functions[] = {
@@ -682,6 +703,11 @@ PHP_FUNCTION(curl_init)
WRONG_PARAM_COUNT;
}
if (argc > 0) {
convert_to_string_ex(url);
PHP_CURL_CHECK_OPEN_BASEDIR(Z_STRVAL_PP(url), Z_STRLEN_PP(url));
}
alloc_curl_handle(&ch);
ch->cp = curl_easy_init();
@@ -708,10 +734,10 @@ PHP_FUNCTION(curl_init)
curl_easy_setopt(ch->cp, CURLOPT_WRITEHEADER, (void *) ch);
curl_easy_setopt(ch->cp, CURLOPT_DNS_USE_GLOBAL_CACHE, 1);
curl_easy_setopt(ch->cp, CURLOPT_DNS_CACHE_TIMEOUT, 120);
curl_easy_setopt(ch->cp, CURLOPT_MAXREDIRS, 20); /* prevent infinite redirects */
if (argc > 0) {
char *urlcopy;
convert_to_string_ex(url);
urlcopy = estrndup(Z_STRVAL_PP(url), Z_STRLEN_PP(url));
curl_easy_setopt(ch->cp, CURLOPT_URL, urlcopy);
@@ -723,7 +749,7 @@ PHP_FUNCTION(curl_init)
}
/* }}} */
/* {{{ proto bool curl_setopt(resource ch, string option, mixed value)
/* {{{ proto bool curl_setopt(resource ch, int option, mixed value)
Set an option for a CURL transfer */
PHP_FUNCTION(curl_setopt)
{
@@ -818,8 +844,12 @@ PHP_FUNCTION(curl_setopt)
char *copystr = NULL;
convert_to_string_ex(zvalue);
copystr = estrndup(Z_STRVAL_PP(zvalue), Z_STRLEN_PP(zvalue));
if (option == CURLOPT_URL) {
PHP_CURL_CHECK_OPEN_BASEDIR(Z_STRVAL_PP(zvalue), Z_STRLEN_PP(zvalue));
}
copystr = estrndup(Z_STRVAL_PP(zvalue), Z_STRLEN_PP(zvalue));
error = curl_easy_setopt(ch->cp, option, copystr);
zend_llist_add_element(&ch->to_free.str, &copystr);
@@ -954,16 +984,16 @@ PHP_FUNCTION(curl_setopt)
if (*postval == '@') {
error = curl_formadd(&first, &last,
CURLFORM_COPYNAME, string_key,
CURLFORM_NAMELENGTH, string_key_len - 1,
CURLFORM_NAMELENGTH, (long)string_key_len - 1,
CURLFORM_FILE, ++postval,
CURLFORM_END);
}
else {
error = curl_formadd(&first, &last,
CURLFORM_COPYNAME, string_key,
CURLFORM_NAMELENGTH, string_key_len - 1,
CURLFORM_NAMELENGTH, (long)string_key_len - 1,
CURLFORM_COPYCONTENTS, postval,
CURLFORM_CONTENTSLENGTH, Z_STRLEN_PP(current),
CURLFORM_CONTENTSLENGTH, (long)Z_STRLEN_PP(current),
CURLFORM_END);
}
}
@@ -1207,10 +1237,13 @@ PHP_FUNCTION(curl_getinfo)
switch (option) {
case CURLINFO_EFFECTIVE_URL:
case CURLINFO_CONTENT_TYPE: {
char *s_code;
char *s_code = NULL;
curl_easy_getinfo(ch->cp, option, &s_code);
RETURN_STRING(s_code, 1);
if (curl_easy_getinfo(ch->cp, option, &s_code) == CURLE_OK && s_code) {
RETURN_STRING(s_code, 1);
} else {
RETURN_FALSE;
}
break;
}
@@ -1220,10 +1253,13 @@ PHP_FUNCTION(curl_getinfo)
case CURLINFO_FILETIME:
case CURLINFO_SSL_VERIFYRESULT:
case CURLINFO_REDIRECT_COUNT: {
long code;
long code = 0;
curl_easy_getinfo(ch->cp, option, &code);
RETURN_LONG(code);
if (curl_easy_getinfo(ch->cp, option, &code) == CURLE_OK) {
RETURN_LONG(code);
} else {
RETURN_FALSE;
}
break;
}
@@ -1239,10 +1275,13 @@ PHP_FUNCTION(curl_getinfo)
case CURLINFO_CONTENT_LENGTH_UPLOAD:
case CURLINFO_STARTTRANSFER_TIME:
case CURLINFO_REDIRECT_TIME: {
double code;
double code = 0.0;
curl_easy_getinfo(ch->cp, option, &code);
RETURN_DOUBLE(code);
if (curl_easy_getinfo(ch->cp, option, &code) == CURLE_OK) {
RETURN_DOUBLE(code);
} else {
RETURN_FALSE;
}
break;
}
+1 -1
View File
@@ -4,7 +4,7 @@ dnl
# Checks for libraries.
# Prefer gdbm, Berkeley DB and ndbm/dbm, in that order
AC_DEFUN(AC_PREFERRED_DB_LIB,[
AC_DEFUN([AC_PREFERRED_DB_LIB],[
AC_CHECK_LIB(gdbm, gdbm_open,[AC_DEFINE(GDBM,1, [Whether you have GDBM]) DBM_TYPE=gdbm; DBM_LIB=-lgdbm],
[AC_CHECK_LIB(c, dbm_open,[AC_DEFINE(NDBM,1,[ ]) DBM_TYPE=ndbm; DBM_LIB=],
[AC_CHECK_LIB(dbm, dbm_open,[AC_DEFINE(NDBM,1,[ ]) DBM_TYPE=ndbm; DBM_LIB=-ldbm],
+16 -14
View File
@@ -4,26 +4,29 @@ dnl
dnl Suppose we need FlatFile if no support or only CDB is used.
AC_DEFUN(PHP_DBA_STD_BEGIN,[
AC_DEFUN([PHP_DBA_STD_BEGIN],[
unset THIS_INCLUDE THIS_LIBS THIS_LFLAGS THIS_PREFIX THIS_RESULT
])
AC_DEFUN(PHP_TEMP_LDFLAGS,[
AC_DEFUN([PHP_TEMP_LDFLAGS],[
old_LDFLAGS=$LDFLAGS
LDFLAGS="$1 $LDFLAGS"
$2
old_LIBS=$LIBS
LIBS="$2 $LIBS"
$3
LDFLAGS=$old_LDFLAGS
LIBS=$old_LIBS
])
dnl Assign INCLUDE/LFLAGS from PREFIX
AC_DEFUN(PHP_DBA_STD_ASSIGN,[
AC_DEFUN([PHP_DBA_STD_ASSIGN],[
if test -n "$THIS_PREFIX" && test "$THIS_PREFIX" != "/usr"; then
THIS_LFLAGS=$THIS_PREFIX/lib
fi
])
dnl Standard check
AC_DEFUN(PHP_DBA_STD_CHECK,[
AC_DEFUN([PHP_DBA_STD_CHECK],[
THIS_RESULT="yes"
if test -z "$THIS_INCLUDE"; then
AC_MSG_ERROR([DBA: Could not find necessary header file(s).])
@@ -34,14 +37,14 @@ AC_DEFUN(PHP_DBA_STD_CHECK,[
])
dnl Attach THIS_x to DBA_x
AC_DEFUN(PHP_DBA_STD_ATTACH,[
AC_DEFUN([PHP_DBA_STD_ATTACH],[
PHP_ADD_LIBRARY_WITH_PATH($THIS_LIBS, $THIS_LFLAGS, DBA_SHARED_LIBADD)
unset THIS_INCLUDE THIS_LIBS THIS_LFLAGS THIS_PREFIX
])
dnl Print the result message
dnl parameters(name [, full name [, empty or error message]])
AC_DEFUN(AC_DBA_STD_RESULT,[
AC_DEFUN([AC_DBA_STD_RESULT],[
THIS_NAME=[]translit($1,a-z0-9-,A-Z0-9_)
if test -n "$2"; then
THIS_FULL_NAME="$2"
@@ -78,7 +81,6 @@ AC_ARG_WITH(gdbm,
done
if test -n "$THIS_INCLUDE"; then
unset ac_cv_lib_gdbm_gdbm_open
PHP_CHECK_LIBRARY(gdbm, gdbm_open, [
AC_DEFINE_UNQUOTED(GDBM_INCLUDE_FILE, "$THIS_INCLUDE", [ ])
AC_DEFINE(DBA_GDBM, 1, [ ])
@@ -131,10 +133,10 @@ AC_DBA_STD_RESULT(ndbm)
dnl Berkeley specific (library and version test)
dnl parameters(version, library list, function)
AC_DEFUN(PHP_DBA_DB_CHECK,[
AC_DEFUN([PHP_DBA_DB_CHECK],[
for LIB in $2; do
if test -f $THIS_PREFIX/lib/lib$LIB.a -o -f $THIS_PREFIX/lib/lib$LIB.$SHLIB_SUFFIX_NAME; then
PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib -l$LIB,[
PHP_TEMP_LDFLAGS(-L$THIS_PREFIX/lib, -l$LIB,[
AC_TRY_LINK([
#include "$THIS_INCLUDE"
],[
@@ -171,7 +173,7 @@ AC_DEFUN(PHP_DBA_DB_CHECK,[
])
fi
if test "$ext_shared" = "yes"; then
AC_MSG_CHECKING(if db can be used as shared extension)
AC_MSG_CHECKING(if dba can be used as shared extension)
AC_EGREP_CPP(yes,[
#include "$THIS_INCLUDE"
#if DB_VERSION_MAJOR > 3 || (DB_VERSION_MAJOR == 3 && DB_VERSION_MINOR > 2)
@@ -340,7 +342,7 @@ AC_ARG_WITH(dbm,
])
AC_DBA_STD_RESULT(dbm)
AC_DEFUN(PHP_DBA_BUILTIN_CDB,[
AC_DEFUN([PHP_DBA_BUILTIN_CDB],[
AC_DEFINE(DBA_CDB_BUILTIN, 1, [ ])
AC_DEFINE(DBA_CDB_MAKE, 1, [ ])
AC_DEFINE(DBA_CDB, 1, [ ])
@@ -386,7 +388,7 @@ AC_ARG_WITH(cdb,
])
AC_DBA_STD_RESULT(cdb)
AC_DEFUN(PHP_DBA_BUILTIN_INI,[
AC_DEFUN([PHP_DBA_BUILTIN_INI],[
AC_DEFINE(DBA_INIFILE, 1, [ ])
ini_sources="libinifile/inifile.c"
THIS_RESULT="builtin"
@@ -404,7 +406,7 @@ AC_ARG_WITH(inifile,
])
AC_DBA_STD_RESULT(inifile,INI File)
AC_DEFUN(PHP_DBA_BUILTIN_FLATFILE,[
AC_DEFUN([PHP_DBA_BUILTIN_FLATFILE],[
AC_DEFINE(DBA_FLATFILE, 1, [ ])
flat_sources="libflatfile/flatfile.c"
THIS_RESULT="builtin"
+5
View File
@@ -129,6 +129,11 @@ PHP_FUNCTION(dbase_open)
convert_to_string(dbf_name);
convert_to_long(options);
if (Z_LVAL_P(options) == 1) {
php_error(E_WARNING, "Cannot open %s in write-only mode", Z_STRVAL_P(dbf_name));
RETURN_FALSE;
}
if (PG(safe_mode) && (!php_checkuid(Z_STRVAL_P(dbf_name), NULL, CHECKUID_CHECK_FILE_AND_DIR))) {
RETURN_FALSE;
}
+18 -6
View File
@@ -79,8 +79,10 @@ ZEND_GET_MODULE(dio)
static void _dio_close_fd(zend_rsrc_list_entry *rsrc TSRMLS_DC)
{
php_fd_t *f = (php_fd_t *) rsrc->ptr;
close(f->fd);
free(f);
if (f) {
close(f->fd);
free(f);
}
}
#define RDIOC(c) REGISTER_LONG_CONSTANT(#c, c, CONST_CS | CONST_PERSISTENT)
@@ -142,10 +144,13 @@ PHP_MINFO_FUNCTION(dio)
php_info_print_table_end();
}
static void new_php_fd(php_fd_t **f, int fd)
static int new_php_fd(php_fd_t **f, int fd)
{
*f = malloc(sizeof(php_fd_t));
if (!(*f = malloc(sizeof(php_fd_t)))) {
return 0;
}
(*f)->fd = fd;
return 1;
}
/* {{{ proto resource dio_open(string filename, int flags[, int mode])
@@ -179,7 +184,10 @@ PHP_FUNCTION(dio_open)
RETURN_FALSE;
}
new_php_fd(&f, fd);
if (!new_php_fd(&f, fd)) {
RETURN_FALSE;
}
ZEND_REGISTER_RESOURCE(return_value, f, le_fd);
}
/* }}} */
@@ -421,7 +429,9 @@ PHP_FUNCTION(dio_fcntl)
RETURN_FALSE;
}
new_php_fd(&new_f, fcntl(f->fd, cmd, Z_LVAL_P(arg)));
if (!new_php_fd(&new_f, fcntl(f->fd, cmd, Z_LVAL_P(arg)))) {
RETURN_FALSE;
}
ZEND_REGISTER_RESOURCE(return_value, new_f, le_fd);
break;
}
@@ -586,6 +596,8 @@ PHP_FUNCTION(dio_tcsetattr)
RETURN_FALSE;
}
memset(&newtio, 0, sizeof(newtio));
tcgetattr(f->fd, &newtio);
newtio.c_cflag = BAUD | CRTSCTS | DATABITS | STOPBITS | PARITYON | PARITY | CLOCAL | CREAD;
newtio.c_iflag = IGNPAR;
newtio.c_oflag = 0;
-5
View File
@@ -1,5 +0,0 @@
this extension is experimental,
its functions may change their names
or move to extension all together
so do not rely to much on them
you have been warned!
+3 -3
View File
@@ -2,7 +2,7 @@ dnl
dnl $Id$
dnl
AC_DEFUN(PHP_DOM_CHECK_VERSION,[
AC_DEFUN([PHP_DOM_CHECK_VERSION],[
old_CPPFLAGS=$CPPFLAGS
CPPFLAGS=-I$DOMXML_DIR/include$DOMXML_DIR_ADD
AC_MSG_CHECKING(for libxml version)
@@ -78,7 +78,7 @@ if test "$PHP_DOM" != "no"; then
PHP_SUBST(DOMXML_SHARED_LIBADD)
fi
AC_DEFUN(PHP_DOM_XSLT_CHECK_VERSION,[
AC_DEFUN([PHP_DOM_XSLT_CHECK_VERSION],[
old_CPPFLAGS=$CPPFLAGS
CPPFLAGS=-I$DOMXSLT_DIR/include
AC_MSG_CHECKING(for libxslt version)
@@ -95,7 +95,7 @@ AC_DEFUN(PHP_DOM_XSLT_CHECK_VERSION,[
CPPFLAGS=$old_CPPFLAGS
])
AC_DEFUN(PHP_DOM_EXSLT_CHECK_VERSION,[
AC_DEFUN([PHP_DOM_EXSLT_CHECK_VERSION],[
old_CPPFLAGS=$CPPFLAGS
CPPFLAGS=-I$DOMEXSLT_DIR/include
AC_MSG_CHECKING(for libexslt version)
+5 -4
View File
@@ -2471,6 +2471,10 @@ PHP_FUNCTION(domxml_node_append_child)
}
/* end libxml2 code */
else if (child->type == XML_ATTRIBUTE_NODE) {
if (parent->type != XML_ELEMENT_NODE) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Element node required to append Attribute");
RETURN_FALSE;
}
if (parent->properties != NULL) {
/* Check if an attribute with the same name exists */
xmlAttrPtr foundattrp;
@@ -2608,10 +2612,7 @@ PHP_FUNCTION(domxml_node_insert_before)
if (new_child == NULL)
new_child = xmlAddPrevSibling(refp, child);
} else {
/* first unlink node, if child is already a child of parent
for some strange reason, this is needed
*/
if (child->parent == parent){
if (child->parent != NULL){
xmlUnlinkNode(child);
}
new_child = xmlAddChild(parent, child);
+27 -4
View File
@@ -58,7 +58,7 @@
#include "ext/standard/php_image.h"
#include "ext/standard/info.h"
#if HAVE_MBSTRING && !defined(COMPILE_DL_MBSTRING)
#if defined(PHP_WIN32) || (HAVE_MBSTRING && !defined(COMPILE_DL_MBSTRING))
#define EXIF_USE_MBSTRING 1
#else
#define EXIF_USE_MBSTRING 0
@@ -68,6 +68,12 @@
#include "ext/mbstring/mbstring.h"
#endif
/* needed for ssize_t definition */
#include <sys/types.h>
#if defined(PHP_WIN32) && !defined(ssize_t)
typedef SSIZE_T ssize_t;
#endif
typedef unsigned char uchar;
#ifndef safe_emalloc
@@ -85,6 +91,8 @@ typedef unsigned char uchar;
#define EFREE_IF(ptr) if (ptr) efree(ptr)
#define MAX_IFD_NESTING_LEVEL 100
static unsigned char exif_thumbnail_force_ref[] = {2, BYREF_NONE, BYREF_FORCE_REST};
/* {{{ exif_functions[]
@@ -1430,6 +1438,7 @@ typedef struct {
/* for parsing */
int read_thumbnail;
int read_all;
int ifd_nesting_level;
/* internal */
file_section_list file;
} image_info_type;
@@ -2689,6 +2698,13 @@ static int exif_process_IFD_TAG(image_info_type *ImageInfo, char *dir_entry, cha
size_t byte_count, offset_val, fpos, fgot;
xp_field_type *tmp_xp;
/* Protect against corrupt headers */
if (ImageInfo->ifd_nesting_level > MAX_IFD_NESTING_LEVEL) {
exif_error_docref("exif_read_data#error_ifd" TSRMLS_CC, ImageInfo, E_WARNING, "corrupt EXIF header: maximum directory nesting level reached");
return FALSE;
}
ImageInfo->ifd_nesting_level++;
tag = php_ifd_get16u(dir_entry, ImageInfo->motorola_intel);
format = php_ifd_get16u(dir_entry+2, ImageInfo->motorola_intel);
components = php_ifd_get32u(dir_entry+4, ImageInfo->motorola_intel);
@@ -2702,6 +2718,11 @@ static int exif_process_IFD_TAG(image_info_type *ImageInfo, char *dir_entry, cha
byte_count = components * php_tiff_bytes_per_format[format];
if ((ssize_t)byte_count < 0) {
exif_error_docref("exif_read_data#error_ifd" TSRMLS_CC, ImageInfo, E_WARNING, "Process tag(x%04X=%s): Illegal byte_count(%ld)", tag, exif_get_tagname(tag, tagname, -12, tag_table TSRMLS_CC), byte_count);
return FALSE;
}
if (byte_count > 4) {
offset_val = php_ifd_get32u(dir_entry+8, ImageInfo->motorola_intel);
/* If its bigger than 4 bytes, the dir entry contains an offset. */
@@ -2712,7 +2733,7 @@ static int exif_process_IFD_TAG(image_info_type *ImageInfo, char *dir_entry, cha
// JPEG does not use absolute pointers instead its pointers are relative to the start
// of the TIFF header in APP1 section.
*/
if (offset_val+byte_count>ImageInfo->FileSize || (ImageInfo->FileType!=IMAGE_FILETYPE_TIFF_II && ImageInfo->FileType!=IMAGE_FILETYPE_TIFF_MM)) {
if (offset_val+byte_count>ImageInfo->FileSize || (ImageInfo->FileType!=IMAGE_FILETYPE_TIFF_II && ImageInfo->FileType!=IMAGE_FILETYPE_TIFF_MM && ImageInfo->FileType!=IMAGE_FILETYPE_JPEG)) {
if (value_ptr < dir_entry) {
/* we can read this if offset_val > 0 */
/* some files have their values in other parts of the file */
@@ -3372,7 +3393,7 @@ static int exif_process_IFD_in_TIFF(image_info_type *ImageInfo, size_t dir_offse
return FALSE;
}
php_stream_read(ImageInfo->infile, (char*)(ImageInfo->file.list[sn].data+2), dir_size-2);
/*exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Dump: %s", exif_char_dump(ImageInfo->file.list[sn].data, dir_size, 0));*/
/*exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "Dump: %s", exif_char_dump(ImageInfo->file.list[sn].data, dir_size, 0));*/
next_offset = php_ifd_get32u(ImageInfo->file.list[sn].data + dir_size - 4, ImageInfo->motorola_intel);
#ifdef EXIF_DEBUG
exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "read from TIFF done, next offset x%04X", next_offset);
@@ -3713,6 +3734,8 @@ static int exif_read_file(image_info_type *ImageInfo, char *FileName, int read_t
}
}
ImageInfo->ifd_nesting_level = 0;
/* Scan the JPEG headers. */
ret = exif_scan_FILE_header(ImageInfo TSRMLS_CC);
@@ -3750,7 +3773,7 @@ PHP_FUNCTION(exif_read_data)
}
}
for (i=0; i<SECTION_COUNT; i++) {
sprintf(tmp, ",%s,", exif_get_sectionname(i));
snprintf(tmp, sizeof(tmp), ",%s,", exif_get_sectionname(i));
if (strstr(sections_str, tmp)) {
sections_needed |= 1<<i;
}
+1 -1
View File
@@ -54,7 +54,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib php4ts.lib /nologo /dll /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib php4ts.lib /nologo /dll /machine:I386 /out:"..\..\Release_TS/php_exif.dll" /libpath:"..\..\Release_TS" /libpath:"..\..\Release_TS_Inline"
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib php4ts.lib php_mbstring.lib /nologo /dll /machine:I386 /out:"..\..\Release_TS/php_exif.dll" /libpath:"..\..\Release_TS" /libpath:"..\..\Release_TS_Inline"
!ELSEIF "$(CFG)" == "exif - Win32 Debug_TS"
+58 -20
View File
@@ -459,11 +459,11 @@ PHP_MINFO_FUNCTION(fbsql)
if (FB_SQL_G(allowPersistent))
{
sprintf(buf, "%ld", FB_SQL_G(persistentCount));
snprintf(buf, sizeof(buf), "%ld", FB_SQL_G(persistentCount));
php_info_print_table_row(2, "Active Persistent Links", buf);
}
sprintf(buf, "%ld", FB_SQL_G(linkCount));
snprintf(buf, sizeof(buf), "%ld", FB_SQL_G(linkCount));
php_info_print_table_row(2, "Active Links", buf);
/*
@@ -507,7 +507,9 @@ static void php_fbsql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
if (userName == NULL) userName = FB_SQL_G(userName);
if (userPassword == NULL) userPassword = FB_SQL_G(userPassword);
sprintf(name, "fbsql_%s_%s_%s", hostName, userName, userPassword);
if (snprintf(name, sizeof(name), "fbsql_%s_%s_%s", hostName, userName, userPassword) < 0) {
RETURN_FALSE;
}
if (!FB_SQL_G(allowPersistent)) {
persistent=0;
@@ -818,9 +820,21 @@ PHP_FUNCTION(fbsql_set_transaction)
WRONG_PARAM_COUNT;
break;
}
if (Z_LVAL_PP(Locking) < 0 || Z_LVAL_PP(Locking) > 2) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid locking type.");
RETURN_FALSE;
}
if (Z_LVAL_PP(Isolation) < 0 || Z_LVAL_PP(Isolation) > 4) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid isolation type.");
RETURN_FALSE;
}
ZEND_FETCH_RESOURCE2(phpLink, PHPFBLink *, fbsql_link_index, -1, "FrontBase-Link", le_link, le_plink);
sprintf(strSQL, "SET TRANSACTION LOCKING %s, ISOLATION %s;", strLocking[Z_LVAL_PP(Locking)], strIsolation[Z_LVAL_PP(Isolation)]);
if (snprintf(strSQL, sizeof(strSQL) , "SET TRANSACTION LOCKING %s, ISOLATION %s;", strLocking[Z_LVAL_PP(Locking)], strIsolation[Z_LVAL_PP(Isolation)]) < 0) {
RETURN_FALSE;
}
md = fbcdcExecuteDirectSQL(phpLink->connection, strSQL);
fbcmdRelease(md);
@@ -1417,7 +1431,9 @@ PHP_FUNCTION(fbsql_change_user)
convert_to_string_ex(password);
userPassword = Z_STRVAL_PP(password);
sprintf(buffer, "SET AUTHORIZATION %s;", userName);
if (snprintf(buffer, sizeof(buffer), "SET AUTHORIZATION %s;", userName) < 0) {
RETURN_FALSE;
}
phpfbQuery(INTERNAL_FUNCTION_PARAM_PASSTHRU, buffer, phpLink);
if (Z_LVAL_P(return_value))
@@ -1791,11 +1807,28 @@ int mdOk(PHPFBLink* link, FBCMetaData* md, char* sql)
php_error_docref(NULL TSRMLS_CC, E_WARNING, "No message");
}
link->errorText = strdup(emg);
link->errorNo = fbcemdErrorCodeAtIndex(emd, 0);;
link->errorNo = fbcemdErrorCodeAtIndex(emd, 0);
free(emg);
fbcemdRelease(emd);
result = 0;
}
else if (fbcmdWarningsFound(md))
{
FBCErrorMetaData* emd = fbcdcErrorMetaData(c, md);
char* emg = fbcemdAllErrorMessages(emd);
if (FB_SQL_G(generateWarnings))
{
if (emg)
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Warning in statement: '%s' %s", sql, emg);
else
php_error_docref(NULL TSRMLS_CC, E_WARNING, "No message");
}
link->errorText = strdup(emg);
link->errorNo = fbcemdErrorCodeAtIndex(emd, 0);
free(emg);
fbcemdRelease(emd);
result = 1;
}
return result;
}
/* }}} */
@@ -1824,9 +1857,12 @@ static void phpfbQuery(INTERNAL_FUNCTION_PARAMETERS, char* sql, PHPFBLink* link)
md = meta;
tp = fbcmdStatementType(md);
if ((tp[0] == 'C') || (tp[0] == 'R'))
{
if (tp == NULL) {
fbcmdRelease(meta);
ZVAL_BOOL(return_value, 1)
}
else if ((tp[0] == 'C') || (tp[0] == 'R'))
{
if (sR == 1 && md) fbcmdRelease(md);
ZVAL_BOOL(return_value, 1)
}
@@ -2084,7 +2120,9 @@ PHP_FUNCTION(fbsql_list_fields)
RETURN_FALSE;
}
sprintf(sql, "SELECT * FROM %s WHERE 1=0;", tableName);
if (snprintf(sql, sizeof(sql), "SELECT * FROM %s WHERE 1=0;", tableName) < 0) {
RETURN_FALSE;
}
phpfbQuery(INTERNAL_FUNCTION_PARAM_PASSTHRU, sql, phpLink);
}
@@ -2268,7 +2306,7 @@ void phpfbColumnAsString(PHPFBResult* result, int column, void* data , int* leng
{
int v = *((int*)data);
char b[128];
sprintf(b, "%d", v);
snprintf(b, sizeof(b), "%d", v);
phpfbestrdup(b, length, value);
}
break;
@@ -2277,7 +2315,7 @@ void phpfbColumnAsString(PHPFBResult* result, int column, void* data , int* leng
{
short int v = *((FBTinyInteger*)data);
char b[128];
sprintf(b, "%d", v);
snprintf(b, sizeof(b), "%d", v);
phpfbestrdup(b, length, value);
}
break;
@@ -2288,9 +2326,9 @@ void phpfbColumnAsString(PHPFBResult* result, int column, void* data , int* leng
FBLongInteger v = *((FBLongInteger*)data);
char b[128];
#ifdef PHP_WIN32
sprintf(b, "%I64i", v);
snprintf(b, sizeof(b), "%I64i", v);
#else
sprintf(b, "%ll", v);
snprintf(b, sizeof(b), "%ll", v);
#endif
phpfbestrdup(b, length, value);
}
@@ -2300,7 +2338,7 @@ void phpfbColumnAsString(PHPFBResult* result, int column, void* data , int* leng
{
short v = *((short*)data);
char b[128];
sprintf(b, "%d", v);
snprintf(b, sizeof(b), "%d", v);
phpfbestrdup(b, length, value);
}
break;
@@ -2313,7 +2351,7 @@ void phpfbColumnAsString(PHPFBResult* result, int column, void* data , int* leng
{
double v = *((double*)data);
char b[128];
sprintf(b, "%f", v);
snprintf(b, sizeof(b), "%f", v);
phpfbestrdup(b, length, value);
}
break;
@@ -2346,7 +2384,7 @@ void phpfbColumnAsString(PHPFBResult* result, int column, void* data , int* leng
*length = l*2+3+1;
if (value)
{
char* r = emalloc(l*2+3+1);
char* r = safe_emalloc(l, 2, 4);
r[0] = 'X';
r[1] = '\'';
for (i = 0; i < nBits / 8; i++)
@@ -2368,7 +2406,7 @@ void phpfbColumnAsString(PHPFBResult* result, int column, void* data , int* leng
*length = l*2+3+1;
if (value)
{
char* r = emalloc(l*2+3+1);
char* r = safe_emalloc(l, 2, 4);
r[0] = 'B';
r[1] = '\'';
for (i = 0; i < nBits; i++)
@@ -2400,7 +2438,7 @@ void phpfbColumnAsString(PHPFBResult* result, int column, void* data , int* leng
{
char b[128];
int v = *((unsigned int*)data);
sprintf(b, "%d", v);
snprintf(b, sizeof(b), "%d", v);
phpfbestrdup(b, length, value);
}
break;
@@ -2409,7 +2447,7 @@ void phpfbColumnAsString(PHPFBResult* result, int column, void* data , int* leng
{
char b[128];
double seconds = *((double*)data);
sprintf(b, "%f", seconds);
snprintf(b, sizeof(b), "%f", seconds);
phpfbestrdup(b, length, value);
}
break;
+5 -2
View File
@@ -867,7 +867,10 @@ PHP_FUNCTION(fdf_save_string)
struct stat stat;
char *buf;
fstat(fileno(fp), &stat);
if (fstat(fileno(fp), &stat) == -1) {
RETVAL_FALSE;
goto err;
}
buf = emalloc(stat.st_size +1);
fread(buf, stat.st_size, 1, fp);
buf[stat.st_size] = '\0';
@@ -885,7 +888,7 @@ PHP_FUNCTION(fdf_save_string)
if(err != FDFErcOK) {
FDF_FAILURE(err);
}
err:
if(temp_filename) {
unlink(temp_filename);
efree(temp_filename);
+43 -1
View File
@@ -98,11 +98,43 @@ PHP_MINIT_FUNCTION(filepro)
fp_globals = (fp_global_struct *) LocalAlloc(LPTR, sizeof(fp_global_struct));
TlsSetValue(FPTls, (void *) fp_globals);
#endif
return SUCCESS;
}
/* }}} */
/* {{{ PHP_RINIT_FUNCTION
*/
PHP_RINIT_FUNCTION(filepro)
{
FP_GLOBAL(fp_database)=NULL;
FP_GLOBAL(fp_fcount)=-1;
FP_GLOBAL(fp_keysize)=-1;
FP_GLOBAL(fp_fieldlist)=NULL;
return SUCCESS;
}
/* }}} */
/* {{{ PHP_RSHUTDOWN_FUNCTION
*/
PHP_RSHUTDOWN_FUNCTION(filepro)
{
FP_FIELD *tmp, *next;
if (FP_GLOBAL(fp_database)) {
efree(FP_GLOBAL(fp_database));
}
if (FP_GLOBAL(fp_fieldlist)) {
for (tmp = FP_GLOBAL(fp_fieldlist); tmp;) {
efree(tmp->name);
efree(tmp->format);
next = tmp->next;
efree(tmp);
tmp=next;
}
}
return SUCCESS;
}
/* }}} */
@@ -145,7 +177,15 @@ function_entry filepro_functions[] = {
zend_module_entry filepro_module_entry = {
STANDARD_MODULE_HEADER,
"filepro", filepro_functions, PHP_MINIT(filepro), PHP_MSHUTDOWN(filepro), NULL, NULL, NULL, NO_VERSION_YET, STANDARD_MODULE_PROPERTIES
"filepro",
filepro_functions,
PHP_MINIT(filepro),
PHP_MSHUTDOWN(filepro),
PHP_RINIT(filepro),
PHP_RSHUTDOWN(filepro),
NULL,
NO_VERSION_YET,
STANDARD_MODULE_PROPERTIES
};
@@ -216,6 +256,8 @@ PHP_FUNCTION(filepro)
tmp = FP_GLOBAL(fp_fieldlist);
while (tmp != NULL) {
next = tmp->next;
efree(tmp->name);
efree(tmp->format);
efree(tmp);
tmp = next;
}
+2
View File
@@ -41,6 +41,8 @@ PHP_FUNCTION(filepro_fieldcount);
PHP_FUNCTION(filepro_retrieve);
PHP_MINIT_FUNCTION(filepro);
PHP_RINIT_FUNCTION(filepro);
PHP_RSHUTDOWN_FUNCTION(filepro);
PHP_MSHUTDOWN_FUNCTION(filepro);
#else
#define phpext_filepro_ptr NULL
+6 -15
View File
@@ -705,7 +705,9 @@ ftp_get(ftpbuf_t *ftp, php_stream *outstream, const char *path, ftptype_t type,
}
if (type == FTPTYPE_ASCII) {
#ifndef PHP_WIN32
char *s;
#endif
char *ptr = data->buf;
char *e = ptr + rcvd;
/* logic depends on the OS EOL
@@ -713,26 +715,15 @@ ftp_get(ftpbuf_t *ftp, php_stream *outstream, const char *path, ftptype_t type,
* Everything Else \n
*/
#ifdef PHP_WIN32
while ((s = strpbrk(ptr, "\r\n"))) {
if (*s == '\n') {
php_stream_putc(outstream, '\r');
} else if (*s == '\r' && *(s + 1) == '\n') {
s++;
}
s++;
php_stream_write(outstream, ptr, (s - ptr));
if (*(s - 1) == '\r') {
php_stream_putc(outstream, '\n');
}
ptr = s;
}
php_stream_write(outstream, ptr, (e - ptr));
ptr = e;
#else
while ((s = memchr(ptr, '\r', (e - ptr)))) {
while (e > ptr && (s = memchr(ptr, '\r', (e - ptr)))) {
php_stream_write(outstream, ptr, (s - ptr));
if (*(s + 1) == '\n') {
s++;
php_stream_putc(outstream, '\n');
}
php_stream_putc(outstream, '\n');
ptr = s + 1;
}
#endif
+4
View File
@@ -602,6 +602,10 @@ PHP_FUNCTION(ftp_get)
RETURN_FALSE;
}
#ifdef PHP_WIN32
mode = FTPTYPE_IMAGE;
#endif
if (ftp->autoseek && resumepos) {
if (PG(safe_mode) && (!php_checkuid(local, mode == FTPTYPE_ASCII ? "rt+" : "rb+", CHECKUID_CHECK_MODE_PARAM))) {
RETURN_FALSE;
+13 -11
View File
@@ -47,7 +47,7 @@ dnl
dnl Checks for the configure options
dnl
AC_DEFUN(PHP_GD_JPEG,[
AC_DEFUN([PHP_GD_JPEG],[
if test "$PHP_JPEG_DIR" != "no"; then
for i in $PHP_JPEG_DIR /usr/local /usr; do
@@ -72,7 +72,7 @@ AC_DEFUN(PHP_GD_JPEG,[
fi
])
AC_DEFUN(PHP_GD_PNG,[
AC_DEFUN([PHP_GD_PNG],[
if test "$PHP_PNG_DIR" != "no"; then
for i in $PHP_PNG_DIR /usr/local /usr; do
@@ -107,7 +107,7 @@ AC_DEFUN(PHP_GD_PNG,[
fi
])
AC_DEFUN(PHP_GD_XPM,[
AC_DEFUN([PHP_GD_XPM],[
if test "$PHP_XPM_DIR" != "no"; then
for i in $PHP_XPM_DIR /usr/local /usr/X11R6 /usr; do
@@ -141,7 +141,7 @@ AC_DEFUN(PHP_GD_XPM,[
fi
])
AC_DEFUN(PHP_GD_FREETYPE1,[
AC_DEFUN([PHP_GD_FREETYPE1],[
if test "$PHP_TTF" != "no"; then
if test "$PHP_FREETYPE_DIR" = "no" -o "$PHP_FREETYPE_DIR" = ""; then
if test -n "$PHP_TTF"; then
@@ -175,7 +175,7 @@ AC_DEFUN(PHP_GD_FREETYPE1,[
fi
])
AC_DEFUN(PHP_GD_FREETYPE2,[
AC_DEFUN([PHP_GD_FREETYPE2],[
if test "$PHP_FREETYPE_DIR" != "no"; then
for i in $PHP_FREETYPE_DIR /usr/local /usr; do
@@ -200,7 +200,7 @@ AC_DEFUN(PHP_GD_FREETYPE2,[
fi
])
AC_DEFUN(PHP_GD_T1LIB,[
AC_DEFUN([PHP_GD_T1LIB],[
if test "$PHP_T1LIB" != "no"; then
for i in $PHP_T1LIB /usr/local /usr; do
@@ -224,19 +224,19 @@ AC_DEFUN(PHP_GD_T1LIB,[
fi
])
AC_DEFUN(PHP_GD_TTSTR,[
AC_DEFUN([PHP_GD_TTSTR],[
if test "$PHP_GD_NATIVE_TTF" = "yes"; then
AC_DEFINE(USE_GD_IMGSTRTTF, 1, [ ])
fi
])
AC_DEFUN(PHP_GD_JISX0208,[
AC_DEFUN([PHP_GD_JISX0208],[
if test "$PHP_GD_JIS_CONV" = "yes"; then
USE_GD_JIS_CONV=1
fi
])
AC_DEFUN(PHP_GD_CHECK_VERSION,[
AC_DEFUN([PHP_GD_CHECK_VERSION],[
PHP_CHECK_LIBRARY(gd, gdImageString16, [AC_DEFINE(HAVE_LIBGD13, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
PHP_CHECK_LIBRARY(gd, gdImagePaletteCopy, [AC_DEFINE(HAVE_LIBGD15, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
PHP_CHECK_LIBRARY(gd, gdImageCreateFromPng, [AC_DEFINE(HAVE_GD_PNG, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
@@ -257,8 +257,9 @@ AC_DEFUN(PHP_GD_CHECK_VERSION,[
PHP_CHECK_LIBRARY(gd, gdImageColorResolve, [AC_DEFINE(HAVE_GDIMAGECOLORRESOLVE, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
PHP_CHECK_LIBRARY(gd, gdImageGifCtx, [AC_DEFINE(HAVE_GD_GIF_CTX, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
PHP_CHECK_LIBRARY(gd, gdCacheCreate, [AC_DEFINE(HAVE_GD_CACHE_CREATE, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
PHP_CHECK_LIBRARY(gd, gdFontCacheShutdown, [AC_DEFINE(HAVE_GD_THREAD_SAFE, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
PHP_CHECK_LIBRARY(gd, gdNewDynamicCtxEx, [AC_DEFINE(HAVE_GD_DYNAMIC_CTX_EX, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
PHP_CHECK_LIBRARY(gd, gdFontCacheShutdown, [AC_DEFINE(HAVE_GD_FONTCACHESHUTDOWN,1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
PHP_CHECK_LIBRARY(gd, gdFreeFontCache, [AC_DEFINE(HAVE_GD_FREEFONTCACHE, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
PHP_CHECK_LIBRARY(gd, gdNewDynamicCtxEx, [AC_DEFINE(HAVE_GD_DYNAMIC_CTX_EX, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
])
dnl
@@ -308,6 +309,7 @@ dnl These are always available with bundled library
AC_DEFINE(HAVE_GD_GIF_READ, 1, [ ])
AC_DEFINE(HAVE_GD_GIF_CREATE, 1, [ ])
AC_DEFINE(HAVE_GD_IMAGEELLIPSE, 1, [ ])
AC_DEFINE(HAVE_GD_FONTCACHESHUTDOWN,1, [ ])
AC_DEFINE(HAVE_GD_DYNAMIC_CTX_EX, 1, [ ])
dnl Make sure the libgd/ is first in the include path
+419 -393
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -42,7 +42,7 @@
#if PHP_WIN32
#define ENABLE_GD_TTF
#else
#include "php_config.h"
#include <php_config.h>
#endif
#if (HAVE_LIBTTF | HAVE_LIBFREETYPE) && !defined(HAVE_GD_CACHE_CREATE)
+1 -1
View File
@@ -9,7 +9,7 @@
#if PHP_WIN32
#include "config.w32.h"
#else
#include "php_config.h"
#include <php_config.h>
#endif
#if HAVE_LIBTTF && !defined(USE_GD_IMGSTRTTF)
#include <stdio.h>
+76 -15
View File
@@ -1896,8 +1896,11 @@ void gdImageFill(gdImagePtr im, int x, int y, int nc)
wx2=im->sx;wy2=im->sy;
oc = gdImageGetPixel(im, x, y);
if (oc==nc || x<0 || x>wx2 || y<0 || y>wy2) return;
if (oc==nc || x<0 || x>wx2 || y<0 || y>wy2) {
im->alphaBlendingFlag = alphablending_bak;
return;
}
stack = (struct seg *)emalloc(sizeof(struct seg) * ((int)(im->sy*im->sx)/4)+1);
sp = stack;
@@ -2026,24 +2029,72 @@ void gdImageRectangle (gdImagePtr im, int x1, int y1, int x2, int y2, int color)
{
int x1h = x1, x1v = x1, y1h = y1, y1v = y1, x2h = x2, x2v = x2, y2h = y2, y2v = y2;
int thick = im->thick;
int half1 = 1;
int t;
if (thick > 1) {
int half = thick / 2;
int half1 = thick - half;
if (y2 < y1) {
t=y1;
y1 = y2;
y2 = t;
if (y1 < y2) {
y1v = y1h - half;
y2v = y2h + half1 - 1;
} else {
y1v = y1h + half1 - 1;
y2v = y2h - half;
t = x1;
x1 = x2;
x2 = t;
}
x1h = x1; x1v = x1; y1h = y1; y1v = y1; x2h = x2; x2v = x2; y2h = y2; y2v = y2;
if (thick > 1) {
int cx, cy, x1ul, y1ul, x2lr, y2lr;
int half = thick >> 1;
half1 = thick - half;
x1ul = x1 - half;
y1ul = y1 - half;
x2lr = x2 + half;
y2lr = y2 + half;
cy = y1ul + thick;
while (cy-- > y1ul) {
cx = x1ul - 1;
while (cx++ < x2lr) {
gdImageSetPixel(im, cx, cy, color);
}
}
cy = y2lr - thick;
while (cy++ < y2lr) {
cx = x1ul - 1;
while (cx++ < x2lr) {
gdImageSetPixel(im, cx, cy, color);
}
}
cy = y1ul + thick - 1;
while (cy++ < y2lr -thick) {
cx = x1ul - 1;
while (cx++ < x1ul + thick) {
gdImageSetPixel(im, cx, cy, color);
}
}
cy = y1ul + thick - 1;
while (cy++ < y2lr -thick) {
cx = x2lr - thick - 1;
while (cx++ < x2lr) {
gdImageSetPixel(im, cx, cy, color);
}
}
return;
} else {
y1v = y1h + 1;
y2v = y2h - 1;
gdImageLine(im, x1h, y1h, x2h, y1h, color);
gdImageLine(im, x1h, y2h, x2h, y2h, color);
gdImageLine(im, x1v, y1v, x1v, y2v, color);
gdImageLine(im, x2v, y1v, x2v, y2v, color);
}
gdImageLine(im, x1h, y1h, x2h, y1h, color);
gdImageLine(im, x1h, y2h, x2h, y2h, color);
gdImageLine(im, x1v, y1v, x1v, y2v, color);
gdImageLine(im, x2v, y1v, x2v, y2v, color);
}
void gdImageFilledRectangle (gdImagePtr im, int x1, int y1, int x2, int y2, int color)
@@ -2066,6 +2117,16 @@ void gdImageFilledRectangle (gdImagePtr im, int x1, int y1, int x2, int y2, int
if (y1 > gdImageSY(im)) {
y1 = gdImageSY(im);
}
if (y2 < y1) {
int t;
t=y1;
y1 = y2;
y2 = t;
t = x1;
x1 = x2;
x2 = t;
}
for (y = y1; (y <= y2); y++) {
for (x = x1; (x <= x2); x++) {
+3 -3
View File
@@ -958,7 +958,6 @@ gdImageStringFTEx (gdImage * im, int *brect, int fg, char *fontlist, double ptsi
while (*next) {
ch = *next;
/* carriage returns */
if (ch == '\r') {
penf.x = 0;
@@ -985,11 +984,12 @@ gdImageStringFTEx (gdImage * im, int *brect, int fg, char *fontlist, double ptsi
/* EAM DEBUG */
#if (defined(FREETYPE_MAJOR) && ((FREETYPE_MAJOR == 2 && ((FREETYPE_MINOR == 1 && FREETYPE_PATCH >= 3) || FREETYPE_MINOR > 1) || FREETYPE_MAJOR > 2)))
if (font->face->charmap->encoding == FT_ENCODING_MS_SYMBOL) {
if (font->face->charmap->encoding == FT_ENCODING_MS_SYMBOL && strcmp(font->face->family_name, "Symbol") == 0) {
/* I do not know the significance of the constant 0xf000.
* It was determined by inspection of the character codes
* stored in Microsoft font symbol.
*/
/* Convert to the Symbol glyph range only for a Symbol family member */
len = gdTcl_UtfToUniChar (next, &ch);
ch |= 0xf000;
next += len;
@@ -1060,7 +1060,7 @@ gdImageStringFTEx (gdImage * im, int *brect, int fg, char *fontlist, double ptsi
FT_Set_Transform(face, &matrix, NULL);
/* Convert character code to glyph index */
glyph_index = FT_Get_Char_Index(face, ch);
/* retrieve kerning distance and move pen position */
if (use_kerning && previous && glyph_index) {
FT_Get_Kerning(face, previous, glyph_index, ft_kerning_default, &delta);
+1 -1
View File
@@ -11,7 +11,7 @@ Bug #22544 (TrueColor transparency in PNG images).
?>
--FILE--
<?php
$dest = dirname(realpath(__FILE__)) . 'bug22544.png';
$dest = dirname(realpath(__FILE__)) . '/bug22544.png';
@unlink($dest);
$image = imageCreateTruecolor(640, 100);
$transparent = imageColorAllocate($image, 0, 0, 0);
+1 -1
View File
@@ -11,7 +11,7 @@ Bug #24155 (gdImageRotate270 rotation problem).
?>
--FILE--
<?php
$dest = dirname(realpath(__FILE__)) . 'bug24155.png';
$dest = dirname(realpath(__FILE__)) . '/bug24155.png';
@unlink($dest);
$im = imagecreatetruecolor(30, 50);
+2 -1
View File
@@ -8,7 +8,7 @@ gdimagefill() function (Bug #19366 (fixed in bundled libgd))
--FILE--
<?php
/* $id$ */
$dest = dirname(realpath(__FILE__)) . 'bug27582.png';
$dest = dirname(realpath(__FILE__)) . '/bug27582.png';
@unlink($dest);
$im = ImageCreateTrueColor(10, 10);
imagealphablending($im, true);
@@ -18,6 +18,7 @@ $color = ImageColorAllocateAlpha($im, 0, 0, 0, 1);
ImageFillToBorder($im, 5, 5, $bordercolor, $color);
imagepng($im, $dest);
echo md5_file($dest) . "\n";
@unlink($dest);
?>
--EXPECT--
08287f8f5d406946009df5f04ca83dc0
+4 -1
View File
@@ -11,14 +11,17 @@ Bug #28984 (imagefill segfault using a transparent color).
?>
--FILE--
<?php
$cwd = dirname(__FILE__);
$im = imagecreatetruecolor(100,100);
imagealphablending($im, false);
#$alpha = imagecolorallocatealpha($im, 255, 0, 255,0);
$alpha = imagecolorallocate($im, 255, 0, 0);
imagefill($im, 2, 2, $alpha);
#imagesavealpha($im, true);
imagepng($im, '1.png');
imagepng($im, $cwd . '/1.png');
imagedestroy($im);
@unlink($cwd . '/1.png');
echo "Done\n";
?>
--EXPECT--
+1 -1
View File
@@ -3,7 +3,7 @@ gif --> gd1/gd2 conversion test
--SKIPIF--
<?php
if (!extension_loaded('gd')) {
die("skip gd extension not avaliable.");
die("skip gd extension not available.");
}
if (!GD_BUNDLED) {
die("skip external GD libraries always fail");
+1 -1
View File
@@ -3,7 +3,7 @@ gif --> jpeg conversion test
--SKIPIF--
<?php
if (!extension_loaded('gd')) {
die("skip gd extension not avaliable.");
die("skip gd extension not available.");
}
if (!GD_BUNDLED) {
die("skip external GD libraries always fail");
+1 -1
View File
@@ -3,7 +3,7 @@ gif --> png conversion test
--SKIPIF--
<?php
if (!extension_loaded('gd')) {
die("skip gd extension not avaliable.");
die("skip gd extension not available.");
}
if (!GD_BUNDLED) {
die("skip external GD libraries always fail");
+1 -1
View File
@@ -3,7 +3,7 @@ jpeg <--> png conversion test
--SKIPIF--
<?php
if (!extension_loaded('gd')) {
die("skip gd extension not avaliable.");
die("skip gd extension not available.");
}
if (!GD_BUNDLED) {
die("skip external GD libraries always fail");
+1 -1
View File
@@ -3,7 +3,7 @@ jpeg <--> gd1/gd2 conversion test
--SKIPIF--
<?php
if (!extension_loaded('gd')) {
die("skip gd extension not avaliable.");
die("skip gd extension not available.");
}
if (!GD_BUNDLED) {
die("skip external GD libraries always fail");
+1 -1
View File
@@ -3,7 +3,7 @@ png <--> gd1/gd2 conversion test
--SKIPIF--
<?php
if (!extension_loaded('gd')) {
die("skip gd extension not avaliable.");
die("skip gd extension not available.");
}
if (!GD_BUNDLED) {
die("skip external GD libraries always fail");
+1 -1
View File
@@ -3,7 +3,7 @@ xpm --> gd1/gd2 conversion test
--SKIPIF--
<?php
if (!extension_loaded('gd')) {
die("skip gd extension not avaliable.");
die("skip gd extension not available.");
}
if (!GD_BUNDLED) {
die("skip external GD libraries always fail");
+1 -1
View File
@@ -3,7 +3,7 @@ xpm --> jpeg conversion test
--SKIPIF--
<?php
if (!extension_loaded('gd')) {
die("skip gd extension not avaliable.");
die("skip gd extension not available.");
}
if (!GD_BUNDLED) {
die("skip external GD libraries always fail");
+1 -1
View File
@@ -3,7 +3,7 @@ xpm --> png conversion test
--SKIPIF--
<?php
if (!extension_loaded('gd')) {
die("skip gd extension not avaliable.");
die("skip gd extension not available.");
}
if (!GD_BUNDLED) {
die("skip external GD libraries always fail");
+53 -6
View File
@@ -251,7 +251,7 @@ static int convert_to_gmp(mpz_t * *gmpnumber, zval **val, int base)
}
break;
default:
zend_error(E_WARNING,"Unable to convert variable to GMP - wrong type");
php_error_docref(NULL TSRMLS_CC, E_WARNING,"Unable to convert variable to GMP - wrong type");
efree(*gmpnumber);
return FAILURE;
}
@@ -504,7 +504,7 @@ ZEND_FUNCTION(gmp_init)
convert_to_long_ex(base_arg);
base = Z_LVAL_PP(base_arg);
if(base < 2 || base > 36) {
zend_error(E_WARNING, "Bad base for conversion: %d (should be between 2 and 36)", base);
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Bad base for conversion: %d (should be between 2 and 36)", base);
RETURN_FALSE;
}
}
@@ -566,7 +566,7 @@ ZEND_FUNCTION(gmp_strval)
}
if(base < 2 || base > 36) {
zend_error(E_WARNING, "Bad base for conversion: %d", base);
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Bad base for conversion: %d", base);
RETURN_FALSE;
}
@@ -770,7 +770,28 @@ ZEND_FUNCTION(gmp_abs)
Calculates factorial function */
ZEND_FUNCTION(gmp_fact)
{
gmp_unary_ui_op(mpz_fac_ui);
zval **a_arg;
mpz_t *gmpnum_tmp;
if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &a_arg) == FAILURE){
WRONG_PARAM_COUNT;
}
if (Z_TYPE_PP(a_arg) == IS_RESOURCE) {
FETCH_GMP_ZVAL(gmpnum_tmp, a_arg);
if (mpz_sgn(*gmpnum_tmp) < 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING,"Number has to be greater than or equal to 0");
RETURN_FALSE;
}
} else {
convert_to_long_ex(a_arg);
if (Z_LVAL_PP(a_arg) < 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING,"Number has to be greater than or equal to 0");
RETURN_FALSE;
}
}
gmp_zval_unary_ui_op(return_value, a_arg, mpz_fac_ui);
}
/* }}} */
@@ -795,7 +816,7 @@ ZEND_FUNCTION(gmp_pow)
convert_to_long_ex(exp_arg);
if(Z_LVAL_PP(exp_arg) < 0) {
zend_error(E_WARNING,"Negative exponent not supported");
php_error_docref(NULL TSRMLS_CC, E_WARNING,"Negative exponent not supported");
RETURN_FALSE;
}
@@ -827,6 +848,10 @@ ZEND_FUNCTION(gmp_powm)
use_ui=1;
} else {
FETCH_GMP_ZVAL(gmpnum_exp, exp_arg);
if (mpz_sgn(*gmpnum_exp) < 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING,"Second parameter cannot be less than 0");
RETURN_FALSE;
}
}
FETCH_GMP_ZVAL(gmpnum_mod, mod_arg);
@@ -850,7 +875,24 @@ ZEND_FUNCTION(gmp_powm)
Takes integer part of square root of a */
ZEND_FUNCTION(gmp_sqrt)
{
gmp_unary_op(mpz_sqrt);
zval **a_arg;
mpz_t *gmpnum_a, *gmpnum_result;
if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &a_arg) == FAILURE){
WRONG_PARAM_COUNT;
}
FETCH_GMP_ZVAL(gmpnum_a, a_arg);
if (mpz_sgn(*gmpnum_a) < 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING,"Number has to be greater than or equal to 0");
RETURN_FALSE;
}
INIT_GMP_NUM(gmpnum_result);
mpz_sqrt(*gmpnum_result, *gmpnum_a);
ZEND_REGISTER_RESOURCE(return_value, gmpnum_result, le_gmp);
}
/* }}} */
@@ -868,6 +910,11 @@ ZEND_FUNCTION(gmp_sqrtrem)
FETCH_GMP_ZVAL(gmpnum_a, a_arg);
if (mpz_sgn(*gmpnum_a) < 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING,"Number has to be greater than or equal to 0");
RETURN_FALSE;
}
INIT_GMP_NUM(gmpnum_result1);
INIT_GMP_NUM(gmpnum_result2);
+13 -10
View File
@@ -44,7 +44,7 @@ if test "$PHP_ICONV" != "no"; then
else
case "$iconv_lib_name" in
iconv [)]
AC_MSG_CHECKING([if iconv is Konstantin Chugeuv's])
AC_MSG_CHECKING([if iconv is Konstantin Chuguev's])
AC_TRY_LINK([#include <iconv.h>],[iconv_ccs_init(NULL, NULL);],
[
AC_MSG_RESULT(yes)
@@ -65,23 +65,26 @@ if test "$PHP_ICONV" != "no"; then
esac
fi
echo > ext/iconv/php_have_bsd_iconv.h
echo > ext/iconv/php_have_glibc_iconv.h
case "$iconv_impl_name" in
gnu_libiconv [)]
PHP_DEFINE([PHP_ICONV_IMPL],[\"libiconv\"])
PHP_DEFINE([PHP_ICONV_IMPL],[\"libiconv\"],[ext/iconv])
AC_DEFINE([PHP_ICONV_IMPL],["libiconv"],[Which iconv implementation to use])
;;
bsd [)]
PHP_DEFINE([HAVE_BSD_ICONV],1)
AC_DEFINE([HAVE_BSD_ICONV],1,[Konstantin Chugeuv's iconv implementation])
PHP_DEFINE([PHP_ICONV_IMPL],[\"BSD iconv\"])
PHP_DEFINE([HAVE_BSD_ICONV],1,[ext/iconv])
AC_DEFINE([HAVE_BSD_ICONV],1,[Konstantin Chuguev's iconv implementation])
PHP_DEFINE([PHP_ICONV_IMPL],[\"BSD iconv\"],[ext/iconv])
AC_DEFINE([PHP_ICONV_IMPL],["BSD iconv"],[Which iconv implementation to use])
;;
glibc [)]
PHP_DEFINE([HAVE_GLIBC_ICONV],1)
PHP_DEFINE([HAVE_GLIBC_ICONV],1,[ext/iconv])
AC_DEFINE([HAVE_GLIBC_ICONV],1,[glibc's iconv implementation])
PHP_DEFINE([PHP_ICONV_IMPL],[\"glibc\"])
PHP_DEFINE([PHP_ICONV_IMPL],[\"glibc\"],[ext/iconv])
AC_DEFINE([PHP_ICONV_IMPL],["glibc"],[Which iconv implementation to use])
;;
esac
@@ -106,11 +109,11 @@ int main() {
}
],[
AC_MSG_RESULT(yes)
PHP_DEFINE([ICONV_SUPPORTS_ERRNO],1)
PHP_DEFINE([ICONV_SUPPORTS_ERRNO],1,[ext/iconv])
AC_DEFINE([ICONV_SUPPORTS_ERRNO],1,[Whether iconv supports error no or not])
],[
AC_MSG_RESULT(no)
PHP_DEFINE([ICONV_SUPPORTS_ERRNO],0)
PHP_DEFINE([ICONV_SUPPORTS_ERRNO],0,[ext/iconv])
AC_DEFINE([ICONV_SUPPORTS_ERRNO],0,[Whether iconv supports error no or not])
])
@@ -120,7 +123,7 @@ int main() {
#include FOO
], [], [
AC_MSG_RESULT([yes])
PHP_DEFINE([PHP_ICONV_H_PATH], [<$PHP_ICONV_H_PATH>])
PHP_DEFINE([PHP_ICONV_H_PATH], [<$PHP_ICONV_H_PATH>],[ext/iconv])
AC_DEFINE_UNQUOTED([PHP_ICONV_H_PATH], [<$PHP_ICONV_H_PATH>], [Path to iconv.h])
], [
AC_MSG_RESULT([no])
+1 -14
View File
@@ -83,24 +83,11 @@ ZEND_DECLARE_MODULE_GLOBALS(iconv)
ZEND_GET_MODULE(iconv)
#endif
/* {{{ typedef enum php_iconv_err_t */
typedef enum _php_iconv_err_t {
PHP_ICONV_ERR_SUCCESS = SUCCESS,
PHP_ICONV_ERR_CONVERTER = 1,
PHP_ICONV_ERR_WRONG_CHARSET = 2,
PHP_ICONV_ERR_TOO_BIG = 3,
PHP_ICONV_ERR_ILLEGAL_SEQ = 4,
PHP_ICONV_ERR_ILLEGAL_CHAR = 5,
PHP_ICONV_ERR_UNKNOWN = 6
} php_iconv_err_t;
/* }}} */
#ifdef HAVE_LIBICONV
#define iconv libiconv
#endif
/* {{{ prototypes */
static php_iconv_err_t php_iconv_string(const char * in_p, size_t in_len, char **out, size_t *out_len, const char *in_charset, const char *out_charset);
static void _php_iconv_show_error(php_iconv_err_t err, const char *in_charset, const char *out_charset TSRMLS_DC);
/* }}} */
@@ -185,7 +172,7 @@ PHP_MINFO_FUNCTION(miconv)
/* {{{ php_iconv_string
*/
php_iconv_err_t php_iconv_string(const char *in_p, size_t in_len,
PHP_ICONV_API php_iconv_err_t php_iconv_string(const char *in_p, size_t in_len,
char **out, size_t *out_len,
const char *in_charset, const char *out_charset)
{
+2 -2
View File
@@ -43,7 +43,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ICONV_EXPORTS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\Zend" /I "..\..\TSRM" /I "..\..\main" /I "..\..\win32" /I "..\..\..\php_build\iconv\include" /D "WIN32" /D "PHP_EXPORTS" /D "COMPILE_DL_ICONV" /D "HAVE_ICONV" /D ZEND_DEBUG=0 /D "NDEBUG" /D "_WINDOWS" /D "ZEND_WIN32" /D "PHP_WIN32" /D ZTS=1 /D "ICONV_SUPPORTS_ERRNO" /D "HAVE_LIBICONV" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\Zend" /I "..\..\TSRM" /I "..\..\main" /I "..\..\win32" /I "..\..\..\php_build\iconv\include" /D ZEND_DEBUG=0 /D "ICONV_SUPPORTS_ERRNO" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "PHP_EXPORTS" /D "COMPILE_DL_ICONV" /D "ZEND_WIN32" /D "PHP_WIN32" /D "HAVE_ICONV" /D ZTS=1 /D "HAVE_LIBICONV" /D "PHP_ICONV_EXPORTS" /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x407 /d "NDEBUG"
@@ -69,7 +69,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ICONV_EXPORTS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\.." /I "..\..\Zend" /I "..\..\TSRM" /I "..\..\main" /I "..\..\win32" /I "..\..\..\php_build\iconv\include" /D ZEND_DEBUG=1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "PHP_EXPORTS" /D "COMPILE_DL_ICONV" /D "ZEND_WIN32" /D "PHP_WIN32" /D "HAVE_ICONV" /D ZTS=1 /D "HAVE_LIBICONV" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\.." /I "..\..\Zend" /I "..\..\TSRM" /I "..\..\main" /I "..\..\win32" /I "..\..\..\php_build\iconv\include" /D ZEND_DEBUG=1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "PHP_EXPORTS" /D "COMPILE_DL_ICONV" /D "ZEND_WIN32" /D "PHP_WIN32" /D "HAVE_ICONV" /D ZTS=1 /D "HAVE_LIBICONV" /D "PHP_ICONV_EXPORTS" /YX /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x407 /d "_DEBUG"
+25 -7
View File
@@ -23,19 +23,23 @@
#define PHP_ICONV_H
#ifdef PHP_WIN32
#ifdef PHP_ICONV_EXPORTS
#define PHP_ICONV_API __declspec(dllexport)
#else
#define PHP_ICONV_API __declspec(dllimport)
#endif
#else
#define PHP_ICONV_API
#endif
#ifdef PHP_ATOM_INC
#include "php_have_iconv.h"
#include "php_have_libiconv.h"
#include "php_have_glibc_iconv.h"
#include "php_have_bsd_iconv.h"
#include "php_iconv_supports_errno.h"
#include "php_php_iconv_impl.h"
#include "php_php_iconv_h_path.h"
#include "ext/iconv/php_have_iconv.h"
#include "ext/iconv/php_have_libiconv.h"
#include "ext/iconv/php_have_glibc_iconv.h"
#include "ext/iconv/php_have_bsd_iconv.h"
#include "ext/iconv/php_iconv_supports_errno.h"
#include "ext/iconv/php_php_iconv_impl.h"
#include "ext/iconv/php_php_iconv_h_path.h"
#endif
@@ -68,6 +72,20 @@ ZEND_END_MODULE_GLOBALS(iconv)
#define ICONV_OUTPUT_ENCODING "ISO-8859-1"
#define ICONV_INTERNAL_ENCODING "ISO-8859-1"
/* {{{ typedef enum php_iconv_err_t */
typedef enum _php_iconv_err_t {
PHP_ICONV_ERR_SUCCESS = SUCCESS,
PHP_ICONV_ERR_CONVERTER = 1,
PHP_ICONV_ERR_WRONG_CHARSET = 2,
PHP_ICONV_ERR_TOO_BIG = 3,
PHP_ICONV_ERR_ILLEGAL_SEQ = 4,
PHP_ICONV_ERR_ILLEGAL_CHAR = 5,
PHP_ICONV_ERR_UNKNOWN = 6
} php_iconv_err_t;
/* }}} */
PHP_ICONV_API php_iconv_err_t php_iconv_string(const char * in_p, size_t in_len, char **out, size_t *out_len, const char *in_charset, const char *out_charset);
#else
#define iconv_module_ptr NULL
+41 -59
View File
@@ -2,7 +2,7 @@ dnl
dnl $Id$
dnl
AC_DEFUN(IMAP_INC_CHK,[if test -r "$i$1/c-client.h"; then
AC_DEFUN([IMAP_INC_CHK],[if test -r "$i$1/c-client.h"; then
AC_DEFINE(HAVE_IMAP2000, 1, [ ])
IMAP_DIR=$i
IMAP_INC_DIR=$i$1
@@ -13,7 +13,7 @@ AC_DEFUN(IMAP_INC_CHK,[if test -r "$i$1/c-client.h"; then
break
])
AC_DEFUN(IMAP_LIB_CHK,[
AC_DEFUN([IMAP_LIB_CHK],[
str="$IMAP_DIR/$1/lib$lib.*"
for i in `echo $str`; do
test -r $i && IMAP_LIBDIR=$IMAP_DIR/$1 && break 2
@@ -21,7 +21,7 @@ AC_DEFUN(IMAP_LIB_CHK,[
])
dnl PHP_IMAP_TEST_BUILD(function, action-if-ok, action-if-not-ok [, extra-libs])
AC_DEFUN(PHP_IMAP_TEST_BUILD, [
AC_DEFUN([PHP_IMAP_TEST_BUILD], [
old_LIBS=$LIBS
LIBS="$4 $LIBS"
AC_TRY_RUN([
@@ -54,42 +54,17 @@ AC_DEFUN(PHP_IMAP_TEST_BUILD, [
])
])
AC_DEFUN(PHP_IMAP_KRB_CHK, [
AC_ARG_WITH(kerberos,
[ --with-kerberos[=DIR] IMAP: Include Kerberos support. DIR is the Kerberos install dir.],[
PHP_KERBEROS=$withval
],[
PHP_KERBEROS=no
])
AC_DEFUN([PHP_IMAP_KRB_CHK], [
if test "$PHP_KERBEROS" != "no"; then
if test "$PHP_KERBEROS" = "yes"; then
SEARCH_PATHS="/usr/kerberos /usr/local /usr"
else
SEARCH_PATHS=$PHP_KERBEROS
fi
for i in $SEARCH_PATHS; do
if test -f $i/lib/libkrb5.a || test -f $i/lib/libkrb5.$SHLIB_SUFFIX_NAME; then
PHP_KERBEROS_DIR=$i
break
fi
done
if test -z "$PHP_KERBEROS_DIR"; then
PHP_SETUP_KERBEROS(IMAP_SHARED_LIBADD,
[
AC_DEFINE(HAVE_IMAP_KRB,1,[ ])
], [
AC_MSG_ERROR([Kerberos libraries not found.
Check the path given to --with-kerberos (if no path is given, searches in /usr/kerberos, /usr/local and /usr )
])
fi
AC_DEFINE(HAVE_IMAP_KRB,1,[ ])
PHP_ADD_LIBPATH($PHP_KERBEROS_DIR/lib, IMAP_SHARED_LIBADD)
PHP_ADD_LIBRARY(gssapi_krb5, 1, IMAP_SHARED_LIBADD)
PHP_ADD_LIBRARY(krb5, 1, IMAP_SHARED_LIBADD)
PHP_ADD_LIBRARY(k5crypto, 1, IMAP_SHARED_LIBADD)
PHP_ADD_LIBRARY(com_err, 1, IMAP_SHARED_LIBADD)
PHP_ADD_INCLUDE($PHP_KERBEROS_DIR/include)
])
else
AC_EGREP_HEADER(auth_gss, $IMAP_INC_DIR/linkage.h, [
AC_MSG_ERROR([This c-client library is built with Kerberos support.
@@ -98,31 +73,26 @@ AC_DEFUN(PHP_IMAP_KRB_CHK, [
])
])
fi
])
AC_DEFUN(PHP_IMAP_SSL_CHK, [
AC_ARG_WITH(imap-ssl,
[ --with-imap-ssl=<DIR> IMAP: Include SSL support. DIR is the OpenSSL install dir.],[
PHP_IMAP_SSL=$withval
],[
PHP_IMAP_SSL=no
])
if test "$PHP_IMAP_SSL" = "yes"; then
PHP_IMAP_SSL=/usr
fi
AC_MSG_CHECKING([whether SSL libraries are needed for c-client])
AC_DEFUN([PHP_IMAP_SSL_CHK], [
if test "$PHP_IMAP_SSL" != "no"; then
AC_MSG_RESULT([$PHP_IMAP_SSL/lib])
AC_DEFINE(HAVE_IMAP_SSL,1,[ ])
PHP_ADD_LIBRARY_DEFER(ssl, 1, IMAP_SHARED_LIBADD)
PHP_ADD_LIBRARY_DEFER(crypto, 1, IMAP_SHARED_LIBADD)
PHP_ADD_LIBPATH($PHP_IMAP_SSL/lib, IMAP_SHARED_LIBADD)
else
AC_MSG_RESULT(no)
PHP_SETUP_OPENSSL(IMAP_SHARED_LIBADD,
[
AC_DEFINE(HAVE_IMAP_SSL,1,[ ])
], [
AC_MSG_ERROR([OpenSSL libraries not found.
Check the path given to --with-openssl-dir and output in config.log)
])
])
elif test -f "$IMAP_INC_DIR/linkage.c"; then
AC_EGREP_HEADER(ssl_onceonlyinit, $IMAP_INC_DIR/linkage.c, [
AC_MSG_ERROR([This c-client library is built with SSL support.
Add --with-imap-ssl to your configure line. Check config.log for details.
])
])
fi
])
@@ -130,8 +100,14 @@ AC_DEFUN(PHP_IMAP_SSL_CHK, [
PHP_ARG_WITH(imap,for IMAP support,
[ --with-imap[=DIR] Include IMAP support. DIR is the c-client install prefix.])
if test "$PHP_IMAP" != "no"; then
PHP_ARG_WITH(kerberos,for IMAP Kerberos support,
[ --with-kerberos[=DIR] IMAP: Include Kerberos support. DIR is the Kerberos install prefix.], no, no)
PHP_ARG_WITH(imap-ssl,for IMAP SSL support,
[ --with-imap-ssl[=DIR] IMAP: Include SSL support. DIR is the OpenSSL install prefix.], no, no)
if test "$PHP_IMAP" != "no"; then
PHP_SUBST(IMAP_SHARED_LIBADD)
PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared)
AC_DEFINE(HAVE_IMAP,1,[ ])
@@ -146,6 +122,12 @@ if test "$PHP_IMAP" != "no"; then
fi
done
dnl Check for c-client version 2004
AC_EGREP_HEADER(mail_fetch_overview_sequence, $IMAP_INC_DIR/mail.h, [
AC_DEFINE(HAVE_IMAP2004,1,[ ])
])
dnl Check for c-client version 2001
old_CPPFLAGS=$CPPFLAGS
CPPFLAGS=-I$IMAP_INC_DIR
AC_EGREP_CPP(this_is_true, [
@@ -173,7 +155,7 @@ if test "$PHP_IMAP" != "no"; then
PHP_EXPAND_PATH($IMAP_DIR, IMAP_DIR)
if test -z "$IMAP_DIR"; then
AC_MSG_ERROR(Cannot find rfc822.h. Please check your IMAP installation.)
AC_MSG_ERROR(Cannot find rfc822.h. Please check your c-client installation.)
fi
if test -r "$IMAP_DIR/c-client/c-client.a"; then
@@ -189,7 +171,7 @@ if test "$PHP_IMAP" != "no"; then
done
if test -z "$IMAP_LIBDIR"; then
AC_MSG_ERROR(Cannot find imap library (libc-client.a). Please check your IMAP installation.)
AC_MSG_ERROR(Cannot find imap library (libc-client.a). Please check your c-client installation.)
fi
PHP_ADD_INCLUDE($IMAP_INC_DIR)
+69 -28
View File
@@ -57,7 +57,8 @@
MAILSTREAM DEFAULTPROTO;
#endif
#define CRLF "\015\012"
#define CRLF "\015\012"
#define CRLF_LEN sizeof("\015\012") - 1
#define PHP_EXPUNGE 32768
#define PHP_IMAP_ADDRESS_SIZE_BUF 10
@@ -680,7 +681,9 @@ PHP_RSHUTDOWN_FUNCTION(imap)
PHP_MINFO_FUNCTION(imap)
{
php_info_print_table_start();
#if HAVE_IMAP2001
#if HAVE_IMAP2004
php_info_print_table_row(2, "IMAP c-Client Version", "2004");
#elif HAVE_IMAP2001
php_info_print_table_row(2, "IMAP c-Client Version", "2001");
#elif HAVE_IMAP2000
php_info_print_table_row(2, "IMAP c-Client Version", "2000");
@@ -692,7 +695,7 @@ PHP_MINFO_FUNCTION(imap)
#if HAVE_IMAP_SSL
php_info_print_table_row(2, "SSL Support", "enabled");
#endif
#if HAVE_IMAP_KRB
#if HAVE_IMAP_KRB && HAVE_IMAP_AUTH_GSS
php_info_print_table_row(2, "Kerberos Support", "enabled");
#endif
php_info_print_table_end();
@@ -1479,11 +1482,19 @@ PHP_FUNCTION(imap_headerinfo)
convert_to_long_ex(msgno);
if (myargc >= 3) {
convert_to_long_ex(fromlength);
if (Z_LVAL_PP(fromlength) < 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "From length has to be greater than or equal to 0");
RETURN_FALSE;
}
} else {
fromlength = 0x00;
}
if (myargc >= 4) {
convert_to_long_ex(subjectlength);
if (Z_LVAL_PP(subjectlength) < 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Subject length has to be greater than or equal to 0");
RETURN_FALSE;
}
} else {
subjectlength = 0x00;
}
@@ -1754,7 +1765,7 @@ PHP_FUNCTION(imap_fetchstructure)
}
/* }}} */
/* {{{ proto string imap_fetchbody(resource stream_id, int msg_no, int section [, int options])
/* {{{ proto string imap_fetchbody(resource stream_id, int msg_no, string section [, int options])
Get a specific body section */
PHP_FUNCTION(imap_fetchbody)
{
@@ -2423,8 +2434,13 @@ PHP_FUNCTION(imap_sort)
}
if (myargc >= 4) {
convert_to_long_ex(flags);
if (Z_LVAL_PP(flags) < 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Search options parameter has to be greater than or equal to 0");
RETURN_FALSE;
}
}
if (myargc >= 5) {
convert_to_string_ex(criteria);
search_criteria = estrndup(Z_STRVAL_PP(criteria), Z_STRLEN_PP(criteria));
spg = mail_criteria(search_criteria);
efree(search_criteria);
@@ -2578,7 +2594,7 @@ PHP_FUNCTION(imap_status)
}
/* }}} */
/* {{{ proto object imap_bodystruct(resource stream_id, int msg_no, int section)
/* {{{ proto object imap_bodystruct(resource stream_id, int msg_no, string section)
Read the structure of a specified body section of a specific message */
PHP_FUNCTION(imap_bodystruct)
{
@@ -2607,6 +2623,10 @@ PHP_FUNCTION(imap_bodystruct)
}
body=mail_body(imap_le_struct->imap_stream, Z_LVAL_PP(msg), Z_STRVAL_PP(section));
if (body == NULL) {
zval_dtor(return_value);
RETURN_FALSE;
}
if (body->type <= TYPEMAX) {
add_property_long(return_value, "type", body->type);
}
@@ -2949,6 +2969,10 @@ PHP_FUNCTION(imap_mail_compose)
bod->contents.text.data = (char *) fs_get(Z_STRLEN_PP(pvalue) + 1);
memcpy(bod->contents.text.data, Z_STRVAL_PP(pvalue), Z_STRLEN_PP(pvalue)+1);
bod->contents.text.size = Z_STRLEN_PP(pvalue);
} else {
bod->contents.text.data = (char *) fs_get(1);
memcpy(bod->contents.text.data, "", 1);
bod->contents.text.size = 0;
}
if (zend_hash_find(Z_ARRVAL_PP(data), "lines", sizeof("lines"), (void **) &pvalue)== SUCCESS) {
convert_to_long_ex(pvalue);
@@ -3052,6 +3076,10 @@ PHP_FUNCTION(imap_mail_compose)
bod->contents.text.data = (char *) fs_get(Z_STRLEN_PP(pvalue) + 1);
memcpy(bod->contents.text.data, Z_STRVAL_PP(pvalue), Z_STRLEN_PP(pvalue) + 1);
bod->contents.text.size = Z_STRLEN_PP(pvalue);
} else {
bod->contents.text.data = (char *) fs_get(1);
memcpy(bod->contents.text.data, "", 1);
bod->contents.text.size = 0;
}
if (zend_hash_find(Z_ARRVAL_PP(data), "lines", sizeof("lines"), (void **) &pvalue)== SUCCESS) {
convert_to_long_ex(pvalue);
@@ -3065,9 +3093,14 @@ PHP_FUNCTION(imap_mail_compose)
convert_to_string_ex(pvalue);
bod->md5 = cpystr(Z_STRVAL_PP(pvalue));
}
zend_hash_move_forward(Z_ARRVAL_PP(body));
}
zend_hash_move_forward(Z_ARRVAL_PP(body));
}
if (bod && bod->type == TYPEMULTIPART && (!bod->nested.part || !bod->nested.part->next)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "cannot generate multipart e-mail without components.");
RETVAL_FALSE;
goto done;
}
rfc822_encode_body_7bit(env, topbod);
@@ -3075,17 +3108,29 @@ PHP_FUNCTION(imap_mail_compose)
/* add custom envelope headers */
if (custom_headers_param) {
int l = strlen(tmp) - 2, l2;
PARAMETER *tp = custom_headers_param;
/* remove last CRLF from tmp */
tmp[strlen(tmp) - 2] = '\0';
tempstring = emalloc(strlen(tmp) + 1);
strcpy(tempstring, tmp);
tmp[l] = '\0';
tempstring = emalloc(l);
memcpy(tempstring, tmp, l);
do {
tempstring = erealloc(tempstring, strlen(tempstring) + strlen(custom_headers_param->value) + strlen(CRLF) + 1);
sprintf(tempstring, "%s%s%s", tempstring, custom_headers_param->value, CRLF);
l2 = strlen(custom_headers_param->value);
tempstring = erealloc(tempstring, l + l2 + CRLF_LEN + 1);
memcpy(tempstring + l, custom_headers_param->value, l2);
memcpy(tempstring + l + l2, CRLF, CRLF_LEN);
l += l2 + CRLF_LEN;
} while ((custom_headers_param = custom_headers_param->next));
mystring = emalloc(strlen(tempstring) + strlen(CRLF) + 1);
sprintf(mystring, "%s%s", tempstring, CRLF);
mail_free_body_parameter(&tp);
mystring = emalloc(l + CRLF_LEN + 1);
memcpy(mystring, tempstring, l);
memcpy(mystring + l , CRLF, CRLF_LEN);
mystring[l + CRLF_LEN] = '\0';
efree(tempstring);
} else {
mystring = emalloc(strlen(tmp) + 1);
@@ -3132,36 +3177,32 @@ PHP_FUNCTION(imap_mail_compose)
bod=&part->body;
tempstring=emalloc(strlen(bod->contents.text.data)+strlen(CRLF)+strlen(mystring)+1);
strcpy(tempstring, mystring);
sprintf(tempstring, "%s%s%s", mystring, bod->contents.text.data, CRLF);
efree(mystring);
mystring=tempstring;
sprintf(mystring, "%s%s%s", mystring, bod->contents.text.data, CRLF);
} while ((part = part->next)); /* until done */
/* output trailing cookie */
sprintf(tmp, "--%s--", cookie);
tempstring=emalloc(strlen(tmp)+strlen(CRLF)+strlen(mystring)+1);
strcpy(tempstring, mystring);
sprintf(tempstring, "%s%s%s", mystring, tmp, CRLF);
efree(mystring);
mystring=tempstring;
sprintf(mystring, "%s%s%s", mystring, tmp, CRLF);
} else if (bod) {
tempstring=emalloc(strlen(bod->contents.text.data)+strlen(CRLF)+strlen(mystring)+1);
strcpy(tempstring, mystring);
tempstring = emalloc(strlen(bod->contents.text.data)+strlen(CRLF)+strlen(mystring)+1);
sprintf(tempstring, "%s%s%s", mystring, bod->contents.text.data, CRLF);
efree(mystring);
mystring=tempstring;
sprintf(mystring, "%s%s%s", mystring, bod->contents.text.data, CRLF);
} else {
efree(mystring);
RETURN_FALSE;
RETVAL_FALSE;
goto done;
}
RETVAL_STRINGL(mystring, strlen(mystring), 1);
efree(tempstring);
RETVAL_STRING(tempstring, 0);
done:
mail_free_body(&topbod);
mail_free_envelope(&env);
}
/* }}} */
+1 -1
View File
@@ -498,7 +498,7 @@ EXEC SQL END DECLARE SECTION;
int host_len = 0, user_len = 0, passwd_len = 0;
host = user = passwd = NULL;
/* set default values if any are avaliable */
/* set default values if any are available */
if (IFXG(default_host)) {
host = IFXG(default_host);
host_len = strlen(host);
+4 -4
View File
@@ -1802,9 +1802,9 @@ static int _php_ibase_var_zval(zval *val, void *data, int type, int len, int sca
short j;
long n, f = 1;
if ( (type & ~1) == SQL_SHORT) {
n = (long) *(short *) (data);
n = *(short *) data;
}else {
n = (long) *(long *) (data);
n = *(ISC_LONG *) data;
}
for (j = 0; j < -scale; j++) {
f *= 10;
@@ -1821,9 +1821,9 @@ static int _php_ibase_var_zval(zval *val, void *data, int type, int len, int sca
} else {
Z_TYPE_P(val) = IS_LONG;
if ( (type & ~1) == SQL_SHORT) {
Z_LVAL_P(val) = *(short *) (data);
Z_LVAL_P(val) = *(short *) data;
}else{
Z_LVAL_P(val) = *(long *) (data);
Z_LVAL_P(val) = *(ISC_LONG *) data;
}
}
break;
+3 -3
View File
@@ -1,7 +1,7 @@
dnl
dnl $Id$
dnl
AC_DEFUN(JAVA_FIND_JAR, [
AC_DEFUN([JAVA_FIND_JAR], [
AC_MSG_CHECKING([Java Jar location])
if test "$PHP_JAVA" = "yes"; then
if JAVA_JAR=`which jar 2>/dev/null`; then
@@ -31,7 +31,7 @@ AC_DEFUN(JAVA_FIND_JAR, [
AC_MSG_RESULT([$JAVA_JAR])
])
AC_DEFUN(JAVA_FIND_C, [
AC_DEFUN([JAVA_FIND_C], [
AC_MSG_CHECKING([Java C location])
if test "$PHP_JAVA" = "yes"; then
JAVA_C=`which javac`
@@ -55,7 +55,7 @@ e.g. --with-java=/java expecting /java/bin/ to contain the binaries])
AC_MSG_RESULT([$JAVA_C])
])
AC_DEFUN(JAVA_CHECK_LIB, [
AC_DEFUN([JAVA_CHECK_LIB], [
AC_MSG_CHECKING([Checking for libjava])
if test -d $PHP_JAVA/lib/kaffe; then
PHP_ADD_LIBPATH($PHP_JAVA/lib)
+1 -1
View File
@@ -2,7 +2,7 @@ dnl
dnl $Id$
dnl
AC_DEFUN(PHP_LDAP_CHECKS, [
AC_DEFUN([PHP_LDAP_CHECKS], [
if test -f $1/include/ldap.h; then
LDAP_DIR=$1
LDAP_INCDIR=$1/include
+173 -199
View File
File diff suppressed because it is too large. Load diff
+2 -2
View File
@@ -209,7 +209,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\TSRM" /I "..\..\..\php_build\openldap\include" /D "NDEBUG" /D ZEND_DEBUG=0 /D "ZTS" /D "COMPILE_DL_LDAP" /D "HAVE_LDAP_START_TLS_S" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LDAP_EXPORTS" /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_LDAP=1 /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\TSRM" /I "..\..\..\php_build\openldap\include" /D "NDEBUG" /D ZEND_DEBUG=0 /D "ZTS" /D "COMPILE_DL_LDAP" /D "HAVE_LDAP_START_TLS_S" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LDAP_EXPORTS" /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_LDAP=1 /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\TSRM" /I "..\..\..\php_build\openldap\include" /D "NDEBUG" /D ZEND_DEBUG=0 /D "ZTS" /D "COMPILE_DL_LDAP" /D "HAVE_LDAP_START_TLS_S" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LDAP_EXPORTS" /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_LDAP=1 /D HAVE_LDAP_PARSE_REFERENCE=1 /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
@@ -236,7 +236,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\TSRM" /I "..\..\..\php_build\openldap\include" /D "_DEBUG" /D ZEND_DEBUG=1 /D "ZTS" /D "COMPILE_DL_LDAP" /D "HAVE_LDAP_START_TLS_S" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LDAP_EXPORTS" /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_LDAP=1 /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\TSRM" /I "..\..\..\php_build\openldap\include" /D "_DEBUG" /D ZEND_DEBUG=1 /D "ZTS" /D "COMPILE_DL_LDAP" /D "HAVE_LDAP_START_TLS_S" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LDAP_EXPORTS" /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_LDAP=1 /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\TSRM" /I "..\..\..\php_build\openldap\include" /D "_DEBUG" /D ZEND_DEBUG=1 /D "ZTS" /D "COMPILE_DL_LDAP" /D "HAVE_LDAP_START_TLS_S" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LDAP_EXPORTS" /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_LDAP=1 /D HAVE_LDAP_PARSE_REFERENCE=1 /YX /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
+1
View File
@@ -106,6 +106,7 @@ AC_DEFUN([PHP_MBSTRING_SETUP_LIBMBFL], [
libmbfl/filters/mbfilter_iso8859_13.c
libmbfl/filters/mbfilter_iso8859_14.c
libmbfl/filters/mbfilter_iso8859_15.c
libmbfl/filters/mbfilter_iso8859_16.c
libmbfl/filters/mbfilter_iso8859_2.c
libmbfl/filters/mbfilter_iso8859_3.c
libmbfl/filters/mbfilter_iso8859_4.c
+7 -5
View File
@@ -1,8 +1,10 @@
Den V. Tsopa <tdv@edisoft.ru>
Hironori Sato <satoh@jpnnet.com>
Shigeru Kanemoto <sgk@happysize.co.jp>
Tsukada Takuya <tsukada@fminn.nagano.nagano.jp>
U. Kenkichi <kenkichi@axes.co.jp>
Tateyama <tateyan@amy.hi-ho.ne.jp>
Marcus Boerger <helly@php.net>
Moriyoshi Koizumi <moriyoshi@php.net>
Rui Hirokawa <hirokawa@php.net>
Other gracious contributors
Shigeru Kanemoto <sgk@happysize.co.jp>
Tsukada Takuya <tsukada@fminn.nagano.nagano.jp>
Tateyama <tateyan@amy.hi-ho.ne.jp>
U. Kenkichi <kenkichi@axes.co.jp>
Wez Furlong <wez@thebrainroom.com>
+4 -1
View File
@@ -1,2 +1,5 @@
EXTRA_DIST=AUTHORS DISCLAIMER
EXTRA_DIST=AUTHORS DISCLAIMER LICENSE Makefile.bcc32 \
config.h.bcc32 config.h.vc6 \
libmbfl.dsp libmbfl.dsw libmbfl.sln libmbfl.vcproj mbfl.rc \
mksbcc32.bat rules.mak.bcc32
SUBDIRS = nls filters mbfl
+5 -3
View File
@@ -5,12 +5,12 @@ SUBDIRS=mbfl nls filters
all: mbfl.dll mbfl.lib
mbfl.lib: mbfl.dll
implib mbfl.lib mbfl.dll
implib -a mbfl.lib mbfl.dll
mbfl.dll: compile mbfl.def mbfl.res
mbfl.dll: compile mbfl.res
@if exist linker.rsp del linker.rsp
@for %i in ($(SUBDIRS)) do @for %j in (%i\*.obj) do @echo %j+ >> linker.rsp
ilink32 $(LDFLAGS) @linker.rsp,mbfl.dll,,$(LIBS),mbfl.def,mbfl.res
ilink32 $(LDFLAGS) @linker.rsp,mbfl.dll,,$(LIBS),,mbfl.res
del linker.rsp
mbfl.res: mbfl.rc
@@ -22,6 +22,8 @@ prepare: config.h.bcc32
clean:
@for %i in ($(SUBDIRS)) do $(COMSPEC) /C mksbcc32.bat $(MAKE) %i clean
@if exist linker.rsp del linker.rsp
@if exist mbfl.RES del mbfl.RES
@if exist mbfl.dll del mbfl.dll
@if exist mbfl.lib del mbfl.lib
@if exist config.h del config.h
+1 -1
View File
@@ -5,4 +5,4 @@ See LICENSE and DISCLAIMER for licensing information.
See the file INSTALL for building and installation instructions.
# $Id: README,v 1.1.2.2 2003/08/24 18:18:51 moriyoshi Exp
# $Id$
+9
View File
@@ -3,6 +3,9 @@
/* Define to 1 if you have the <assert.h> header file. */
#undef HAVE_ASSERT_H
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
@@ -47,6 +50,9 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
@@ -65,6 +71,9 @@
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Version number of package */
#undef VERSION
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
+13 -4
View File
@@ -1,8 +1,11 @@
# Process this file with autoconf to produce a configure script.
AC_INIT([libmbfl],[1.0.0])
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR([mbfl/mbfilter.c])
AC_CONFIG_HEADER([config.h])
AC_INIT(mbfl/mbfilter.c)
AM_INIT_AUTOMAKE(libmbfl, 1.0.0)
AC_CONFIG_SRCDIR(mbfl/mbfilter.c)
AM_CONFIG_HEADER(config.h)
SHLIB_VERSION="1:0:0"
AC_SUBST(SHLIB_VERSION)
# Checks for programs.
AC_PROG_CC
@@ -25,5 +28,11 @@ AC_FUNC_MALLOC
AC_FUNC_REALLOC
AC_CHECK_FUNCS([strcasecmp strchr])
AC_CHECK_PROGS([FETCH_VIA_FTP], [wget curl ncftpget])
if test "$FETCH_VIA_FTP" = "curl"; then
FETCH_VIA_FTP="curl -O"
fi
AC_CONFIG_FILES([Makefile mbfl/Makefile filters/Makefile nls/Makefile])
AC_OUTPUT
+102 -1
View File
@@ -1,3 +1,104 @@
EXTRA_DIST=Makefile.bcc32 mk_sb_tbl.awk
noinst_LTLIBRARIES=libmbfl_filters.la
INCLUDES=-I../mbfl
libmbfl_filters_la_SOURCES=mbfilter_cp936.c mbfilter_hz.c mbfilter_euc_tw.c mbfilter_big5.c mbfilter_euc_jp.c mbfilter_jis.c mbfilter_iso8859_1.c mbfilter_iso8859_2.c mbfilter_cp1252.c mbfilter_cp1251.c mbfilter_ascii.c mbfilter_iso8859_3.c mbfilter_iso8859_4.c mbfilter_iso8859_5.c mbfilter_iso8859_6.c mbfilter_iso8859_7.c mbfilter_iso8859_8.c mbfilter_iso8859_9.c mbfilter_iso8859_10.c mbfilter_iso8859_13.c mbfilter_iso8859_14.c mbfilter_iso8859_15.c mbfilter_htmlent.c mbfilter_byte2.c mbfilter_byte4.c mbfilter_uuencode.c mbfilter_base64.c mbfilter_sjis.c mbfilter_7bit.c mbfilter_qprint.c mbfilter_ucs4.c mbfilter_ucs2.c mbfilter_utf32.c mbfilter_utf16.c mbfilter_utf8.c mbfilter_utf7.c mbfilter_utf7imap.c mbfilter_euc_jp_win.c mbfilter_cp932.c mbfilter_euc_cn.c mbfilter_euc_kr.c mbfilter_uhc.c mbfilter_iso2022_kr.c mbfilter_cp866.c mbfilter_koi8r.c html_entities.c
libmbfl_filters_la_LDFLAGS=-version-info $(SHLIB_VERSION)
libmbfl_filters_la_SOURCES=mbfilter_cp936.c mbfilter_hz.c mbfilter_euc_tw.c mbfilter_big5.c mbfilter_euc_jp.c mbfilter_jis.c mbfilter_iso8859_1.c mbfilter_iso8859_2.c mbfilter_cp1252.c mbfilter_cp1251.c mbfilter_ascii.c mbfilter_iso8859_3.c mbfilter_iso8859_4.c mbfilter_iso8859_5.c mbfilter_iso8859_6.c mbfilter_iso8859_7.c mbfilter_iso8859_8.c mbfilter_iso8859_9.c mbfilter_iso8859_10.c mbfilter_iso8859_13.c mbfilter_iso8859_14.c mbfilter_iso8859_15.c mbfilter_iso8859_16.c mbfilter_htmlent.c mbfilter_byte2.c mbfilter_byte4.c mbfilter_uuencode.c mbfilter_base64.c mbfilter_sjis.c mbfilter_7bit.c mbfilter_qprint.c mbfilter_ucs4.c mbfilter_ucs2.c mbfilter_utf32.c mbfilter_utf16.c mbfilter_utf8.c mbfilter_utf7.c mbfilter_utf7imap.c mbfilter_euc_jp_win.c mbfilter_cp932.c mbfilter_euc_cn.c mbfilter_euc_kr.c mbfilter_uhc.c mbfilter_iso2022_kr.c mbfilter_cp866.c mbfilter_koi8r.c html_entities.c cp932_table.h html_entities.h mbfilter_7bit.h mbfilter_ascii.h mbfilter_base64.h mbfilter_big5.h mbfilter_byte2.h mbfilter_byte4.h mbfilter_cp1251.h mbfilter_cp1252.h mbfilter_cp866.h mbfilter_cp932.h mbfilter_cp936.h mbfilter_euc_cn.h mbfilter_euc_jp.h mbfilter_euc_jp_win.h mbfilter_euc_kr.h mbfilter_euc_tw.h mbfilter_htmlent.h mbfilter_hz.h mbfilter_iso2022_kr.h mbfilter_iso8859_1.h mbfilter_iso8859_10.h mbfilter_iso8859_13.h mbfilter_iso8859_14.h mbfilter_iso8859_15.h mbfilter_iso8859_16.h mbfilter_iso8859_2.h mbfilter_iso8859_3.h mbfilter_iso8859_4.h mbfilter_iso8859_5.h mbfilter_iso8859_6.h mbfilter_iso8859_7.h mbfilter_iso8859_8.h mbfilter_iso8859_9.h mbfilter_jis.h mbfilter_koi8r.h mbfilter_qprint.h mbfilter_sjis.h mbfilter_ucs2.h mbfilter_ucs4.h mbfilter_uhc.h mbfilter_utf16.h mbfilter_utf32.h mbfilter_utf7.h mbfilter_utf7imap.h mbfilter_utf8.h mbfilter_uuencode.h unicode_prop.h unicode_table_big5.h unicode_table_cns11643.h unicode_table_cp1251.h unicode_table_cp1252.h unicode_table_cp866.h unicode_table_cp932_ext.h unicode_table_cp936.h unicode_table_iso8859_10.h unicode_table_iso8859_13.h unicode_table_iso8859_14.h unicode_table_iso8859_15.h unicode_table_iso8859_16.h unicode_table_iso8859_2.h unicode_table_iso8859_3.h unicode_table_iso8859_4.h unicode_table_iso8859_5.h unicode_table_iso8859_6.h unicode_table_iso8859_7.h unicode_table_iso8859_8.h unicode_table_iso8859_9.h unicode_table_jis.h unicode_table_koi8r.h unicode_table_uhc.h
mbfilter_iso8859_2.c: unicode_table_iso8859_2.h
mbfilter_iso8859_3.c: unicode_table_iso8859_3.h
mbfilter_iso8859_4.c: unicode_table_iso8859_4.h
mbfilter_iso8859_5.c: unicode_table_iso8859_5.h
mbfilter_iso8859_6.c: unicode_table_iso8859_6.h
mbfilter_iso8859_7.c: unicode_table_iso8859_7.h
mbfilter_iso8859_8.c: unicode_table_iso8859_8.h
mbfilter_iso8859_9.c: unicode_table_iso8859_9.h
mbfilter_iso8859_10.c: unicode_table_iso8859_10.h
mbfilter_iso8859_11.c: unicode_table_iso8859_11.h
mbfilter_iso8859_13.c: unicode_table_iso8859_13.h
mbfilter_iso8859_14.c: unicode_table_iso8859_13.h
mbfilter_iso8859_15.c: unicode_table_iso8859_15.h
mbfilter_iso8859_16.c: unicode_table_iso8859_16.h
8859-1.TXT 8859-2.TXT 8859-3.TXT 8859-4.TXT 8859-5.TXT 8859-6.TXT \
8859-7.TXT 8859-8.TXT 8859-9.TXT 8859-10.TXT 8859-11.TXT 8859-13.TXT \
8859-14.TXT 8859-15.TXT 8859-16.TXT:
$(FETCH_VIA_FTP) ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/$@
unicode_table_iso8859_1.h: mk_sb_tbl.awk
$(AWK) -v TABLE_NAME=iso8859_1_ucs_table \
-v IFNDEF_NAME=UNICODE_TABLE_ISO8859_1_H -f mk_sb_tbl.awk 8859-1.TXT > $@
unicode_table_iso8859_2.h: mk_sb_tbl.awk
$(AWK) -v TABLE_NAME=iso8859_2_ucs_table \
-v IFNDEF_NAME=UNICODE_TABLE_ISO8859_2_H -f mk_sb_tbl.awk 8859-2.TXT > $@
unicode_table_iso8859_3.h: mk_sb_tbl.awk
$(AWK) -v TABLE_NAME=iso8859_3_ucs_table \
-v IFNDEF_NAME=UNICODE_TABLE_ISO8859_3_H -f mk_sb_tbl.awk 8859-3.TXT > $@
unicode_table_iso8859_4.h: mk_sb_tbl.awk
$(AWK) -v TABLE_NAME=iso8859_4_ucs_table \
-v IFNDEF_NAME=UNICODE_TABLE_ISO8859_4_H -f mk_sb_tbl.awk 8859-4.TXT > $@
unicode_table_iso8859_5.h: mk_sb_tbl.awk
$(AWK) -v TABLE_NAME=iso8859_5_ucs_table \
-v IFNDEF_NAME=UNICODE_TABLE_ISO8859_5_H -f mk_sb_tbl.awk 8859-5.TXT > $@
unicode_table_iso8859_6.h: mk_sb_tbl.awk
$(AWK) -v TABLE_NAME=iso8859_6_ucs_table \
-v IFNDEF_NAME=UNICODE_TABLE_ISO8859_6_H -f mk_sb_tbl.awk 8859-6.TXT > $@
unicode_table_iso8859_7.h: mk_sb_tbl.awk
$(AWK) -v TABLE_NAME=iso8859_7_ucs_table \
-v IFNDEF_NAME=UNICODE_TABLE_ISO8859_7_H -f mk_sb_tbl.awk 8859-7.TXT > $@
unicode_table_iso8859_8.h: mk_sb_tbl.awk
$(AWK) -v TABLE_NAME=iso8859_8_ucs_table \
-v IFNDEF_NAME=UNICODE_TABLE_ISO8859_8_H -f mk_sb_tbl.awk 8859-8.TXT > $@
unicode_table_iso8859_9.h: mk_sb_tbl.awk
$(AWK) -v TABLE_NAME=iso8859_9_ucs_table \
-v IFNDEF_NAME=UNICODE_TABLE_ISO8859_9_H -f mk_sb_tbl.awk 8859-9.TXT > $@
unicode_table_iso8859_10.h: mk_sb_tbl.awk
$(AWK) -v TABLE_NAME=iso8859_10_ucs_table \
-v IFNDEF_NAME=UNICODE_TABLE_ISO8859_10_H -f mk_sb_tbl.awk 8859-10.TXT > $@
unicode_table_iso8859_11.h: mk_sb_tbl.awk
$(AWK) -v TABLE_NAME=iso8859_11_ucs_table \
-v IFNDEF_NAME=UNICODE_TABLE_ISO8859_11_H -f mk_sb_tbl.awk 8859-11.TXT > $@
unicode_table_iso8859_13.h: mk_sb_tbl.awk
$(AWK) -v TABLE_NAME=iso8859_13_ucs_table \
-v IFNDEF_NAME=UNICODE_TABLE_ISO8859_13_H -f mk_sb_tbl.awk 8859-13.TXT > $@
unicode_table_iso8859_14.h: mk_sb_tbl.awk
$(AWK) -v TABLE_NAME=iso8859_14_ucs_table \
-v IFNDEF_NAME=UNICODE_TABLE_ISO8859_14_H -f mk_sb_tbl.awk 8859-14.TXT > $@
unicode_table_iso8859_15.h: mk_sb_tbl.awk
$(AWK) -v TABLE_NAME=iso8859_15_ucs_table \
-v IFNDEF_NAME=UNICODE_TABLE_ISO8859_15_H -f mk_sb_tbl.awk 8859-15.TXT > $@
unicode_table_iso8859_16.h: mk_sb_tbl.awk
$(AWK) -v TABLE_NAME=iso8859_16_ucs_table \
-v IFNDEF_NAME=UNICODE_TABLEISO8859_16_H -f mk_sb_tbl.awk 8859-16.TXT > $@
unidata: 8859-1.TXT 8859-2.TXT 8859-3.TXT 8859-4.TXT 8859-5.TXT 8859-6.TXT \
8859-7.TXT 8859-8.TXT 8859-9.TXT 8859-10.TXT 8859-11.TXT 8859-13.TXT \
8859-14.TXT 8859-15.TXT 8859-16.TXT
.PHONY: unidata
+1 -1
View File
@@ -1,6 +1,6 @@
!include ..\rules.mak.bcc32
INCLUDES=$(INCLUDES) -I../mbfl
OBJS=mbfilter_cp936.obj mbfilter_hz.obj mbfilter_euc_tw.obj mbfilter_big5.obj mbfilter_euc_jp.obj mbfilter_jis.obj mbfilter_iso8859_1.obj mbfilter_iso8859_2.obj mbfilter_cp1252.obj mbfilter_cp1251.obj mbfilter_ascii.obj mbfilter_iso8859_3.obj mbfilter_iso8859_4.obj mbfilter_iso8859_5.obj mbfilter_iso8859_6.obj mbfilter_iso8859_7.obj mbfilter_iso8859_8.obj mbfilter_iso8859_9.obj mbfilter_iso8859_10.obj mbfilter_iso8859_13.obj mbfilter_iso8859_14.obj mbfilter_iso8859_15.obj mbfilter_htmlent.obj mbfilter_byte2.obj mbfilter_byte4.obj mbfilter_uuencode.obj mbfilter_base64.obj mbfilter_sjis.obj mbfilter_7bit.obj mbfilter_qprint.obj mbfilter_ucs4.obj mbfilter_ucs2.obj mbfilter_utf32.obj mbfilter_utf16.obj mbfilter_utf8.obj mbfilter_utf7.obj mbfilter_utf7imap.obj mbfilter_euc_jp_win.obj mbfilter_cp932.obj mbfilter_euc_cn.obj mbfilter_euc_kr.obj mbfilter_uhc.obj mbfilter_iso2022_kr.obj mbfilter_cp866.obj mbfilter_koi8r.obj html_entities.obj
OBJS=mbfilter_cp936.obj mbfilter_hz.obj mbfilter_euc_tw.obj mbfilter_big5.obj mbfilter_euc_jp.obj mbfilter_jis.obj mbfilter_iso8859_1.obj mbfilter_iso8859_2.obj mbfilter_cp1252.obj mbfilter_cp1251.obj mbfilter_ascii.obj mbfilter_iso8859_3.obj mbfilter_iso8859_4.obj mbfilter_iso8859_5.obj mbfilter_iso8859_6.obj mbfilter_iso8859_7.obj mbfilter_iso8859_8.obj mbfilter_iso8859_9.obj mbfilter_iso8859_10.obj mbfilter_iso8859_13.obj mbfilter_iso8859_14.obj mbfilter_iso8859_15.obj mbfilter_iso8859_16.obj mbfilter_htmlent.obj mbfilter_byte2.obj mbfilter_byte4.obj mbfilter_uuencode.obj mbfilter_base64.obj mbfilter_sjis.obj mbfilter_7bit.obj mbfilter_qprint.obj mbfilter_ucs4.obj mbfilter_ucs2.obj mbfilter_utf32.obj mbfilter_utf16.obj mbfilter_utf8.obj mbfilter_utf7.obj mbfilter_utf7imap.obj mbfilter_euc_jp_win.obj mbfilter_cp932.obj mbfilter_euc_cn.obj mbfilter_euc_kr.obj mbfilter_uhc.obj mbfilter_iso2022_kr.obj mbfilter_cp866.obj mbfilter_koi8r.obj html_entities.obj
all: $(OBJS)
+5 -4
View File
@@ -32,13 +32,13 @@
#endif
#include "mbfilter.h"
#include <string.h>
#include "html_entities.h"
const mbfl_html_entity mbfl_html_entity_list[] = { /*
{"quot", 34}, DO NOT CONVERT THESE AUTOMATICALLY
const mbfl_html_entity_entry mbfl_html_entity_list[] = {
{"quot", 34},
{"amp", 38},
{"lt", 60},
{"gt", 62}, */
{"gt", 62},
{"nbsp", 160},
{"iexcl", 161},
{"cent", 162},
@@ -167,6 +167,7 @@ const mbfl_html_entity mbfl_html_entity_list[] = { /*
{"Chi", 935},
{"Psi", 936},
{"Omega", 937},
{"alpha", 945},
{"beta", 946},
{"gamma", 947},
{"delta", 948},
+5 -2
View File
@@ -30,9 +30,12 @@
#ifndef MBFL_HTML_ENTITIES_H
#define MBFL_HTML_ENTITIES_H
#include "mbfilter.h"
typedef struct _mbfl_html_entity_entry {
char * name;
int code;
} mbfl_html_entity_entry;
extern mbfl_html_entity mbfl_html_entity_list[];
extern const mbfl_html_entity_entry mbfl_html_entity_list[];
#endif /* MBFL_HTML_ENTITIES_H */
+45 -40
View File
@@ -43,7 +43,15 @@
#include "mbfilter_htmlent.h"
#include "html_entities.h"
static const unsigned char mblen_table_html[] = { /* 0x00, 0x80 - 0xFF, only valid for numeric entities */
static const int htmlentitifieds[256] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -51,15 +59,7 @@ static const unsigned char mblen_table_html[] = { /* 0x00, 0x80 - 0xFF, only val
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
};
static const char *mbfl_encoding_html_ent_aliases[] = {"HTML", "html", NULL};
@@ -69,7 +69,7 @@ const mbfl_encoding mbfl_encoding_html_ent = {
"HTML-ENTITIES",
"HTML-ENTITIES",
(const char *(*)[])&mbfl_encoding_html_ent_aliases,
NULL, /* mblen_table_html, Do not use table instead calulate length based on entities actually used */
NULL,
MBFL_ENCTYPE_HTML_ENT
};
@@ -98,40 +98,45 @@ const struct mbfl_convert_vtbl vtbl_html_wchar = {
*/
int mbfl_filt_conv_html_enc(int c, mbfl_convert_filter *filter)
{
int tmp[10];
int i = 0, p = 0, e;
int tmp[64];
int i;
unsigned int uc;
const mbfl_html_entity_entry *e;
if (c<256 && mblen_table_html[c]==1) {
if (c < sizeof(htmlentitifieds) / sizeof(htmlentitifieds[0]) &&
htmlentitifieds[c] != 1) {
CK((*filter->output_function)(c, filter->data));
} else {
/*php_error_docref("ref.mbstring" TSRMLS_CC, E_NOTICE, "mbfl_filt_conv_html_enc(0x%08X = %d)", c, c);*/
CK((*filter->output_function)('&', filter->data));
while (1) {
e = mbfl_html_entity_list[i].code;
if (c < e || e == -1) {
break;
}
if (c == e) {
while(mbfl_html_entity_list[i].name[p]) {
CK((*filter->output_function)((int)mbfl_html_entity_list[i].name[p++], filter->data));
for (i = 0; (e = &mbfl_html_entity_list[i])->name != NULL; i++) {
if (c == e->code) {
char *p;
for (p = e->name; *p != '\0'; p++) {
CK((*filter->output_function)((int)*p, filter->data));
}
break;
goto last;
}
i++;
}
i=0;
if (!p) {
{
int *p = tmp + sizeof(tmp) / sizeof(tmp[0]);
CK((*filter->output_function)('#', filter->data));
uc = (unsigned int)c;
*(--p) = '\0';
do {
tmp[i++] = '0'+uc%10;
*(--p) = "0123456789"[uc % 10];
uc /= 10;
} while (uc);
do {
CK((*filter->output_function)(tmp[--i], filter->data));
} while (i);
for (; *p != '\0'; p++) {
CK((*filter->output_function)(*p, filter->data));
}
}
last:
CK((*filter->output_function)(';', filter->data));
}
return c;
@@ -140,7 +145,7 @@ int mbfl_filt_conv_html_enc(int c, mbfl_convert_filter *filter)
int mbfl_filt_conv_html_enc_flush(mbfl_convert_filter *filter)
{
filter->status = 0;
filter->cache = 0;
filter->opaque = NULL;
return 0;
}
@@ -153,24 +158,24 @@ static const char html_entity_chars[] = "#0123456789abcdefghijklmnopqrstuvwxyzAB
void mbfl_filt_conv_html_dec_ctor(mbfl_convert_filter *filter)
{
filter->status = 0;
filter->cache = (int)mbfl_malloc(html_enc_buffer_size+1);
filter->opaque = mbfl_malloc(html_enc_buffer_size+1);
}
void mbfl_filt_conv_html_dec_dtor(mbfl_convert_filter *filter)
{
filter->status = 0;
if (filter->cache)
if (filter->opaque)
{
mbfl_free((void*)filter->cache);
mbfl_free((void*)filter->opaque);
}
filter->cache = 0;
filter->opaque = NULL;
}
int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter)
{
int pos, ent = 0;
mbfl_html_entity *entity;
char *buffer = (char*)filter->cache;
mbfl_html_entity_entry *entity;
char *buffer = (char*)filter->opaque;
if (!filter->status) {
if (c == '&' ) {
@@ -192,7 +197,7 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter)
/*php_error_docref("ref.mbstring" TSRMLS_CC, E_NOTICE, "mbstring decoded '%s'=%d", buffer, ent);*/
} else {
/* named entity */
entity = (mbfl_html_entity *)mbfl_html_entity_list;
entity = (mbfl_html_entity_entry *)mbfl_html_entity_list;
while (entity->name) {
if (!strcmp(buffer+1, entity->name)) {
ent = entity->code;
@@ -241,7 +246,7 @@ int mbfl_filt_conv_html_dec_flush(mbfl_convert_filter *filter)
int status, pos = 0;
char *buffer;
buffer = (char*)filter->cache;
buffer = (char*)filter->opaque;
status = filter->status;
/* flush fragments */
while (status--) {
+136
View File
@@ -0,0 +1,136 @@
/*
* "streamable kanji code filter and converter"
* Copyright (c) 1998-2002 HappySize, Inc. All rights reserved.
*
* LICENSE NOTICES
*
* This file is part of "streamable kanji code filter and converter",
* which is distributed under the terms of GNU Lesser General Public
* License (version 2) as published by the Free Software Foundation.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with "streamable kanji code filter and converter";
* if not, write to the Free Software Foundation, Inc., 59 Temple Place,
* Suite 330, Boston, MA 02111-1307 USA
*
* The author of this file:
*
*/
/*
* The source code included in this files was separated from mbfilter.c
* by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002.
*
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "mbfilter.h"
#include "mbfilter_iso8859_16.h"
#include "unicode_table_iso8859_16.h"
static const char *mbfl_encoding_8859_16_aliases[] = {"ISO_8859-16", NULL};
const mbfl_encoding mbfl_encoding_8859_16 = {
mbfl_no_encoding_8859_16,
"ISO-8859-16",
"ISO-8859-16",
(const char *(*)[])&mbfl_encoding_8859_16_aliases,
NULL,
MBFL_ENCTYPE_SBCS
};
const struct mbfl_identify_vtbl vtbl_identify_8859_16 = {
mbfl_no_encoding_8859_16,
mbfl_filt_ident_common_ctor,
mbfl_filt_ident_common_dtor,
mbfl_filt_ident_true
};
const struct mbfl_convert_vtbl vtbl_8859_16_wchar = {
mbfl_no_encoding_8859_16,
mbfl_no_encoding_wchar,
mbfl_filt_conv_common_ctor,
mbfl_filt_conv_common_dtor,
mbfl_filt_conv_8859_16_wchar,
mbfl_filt_conv_common_flush
};
const struct mbfl_convert_vtbl vtbl_wchar_8859_16 = {
mbfl_no_encoding_wchar,
mbfl_no_encoding_8859_16,
mbfl_filt_conv_common_ctor,
mbfl_filt_conv_common_dtor,
mbfl_filt_conv_wchar_8859_16,
mbfl_filt_conv_common_flush
};
#define CK(statement) do { if ((statement) < 0) return (-1); } while (0)
/*
* ISO-8859-16 => wchar
*/
int mbfl_filt_conv_8859_16_wchar(int c, mbfl_convert_filter *filter)
{
int s;
if (c >= 0 && c < 0xa0) {
s = c;
} else if (c >= 0xa0 && c < 0x100) {
s = iso8859_16_ucs_table[c - 0xa0];
if (s <= 0) {
s = c;
s &= MBFL_WCSPLANE_MASK;
s |= MBFL_WCSPLANE_8859_16;
}
} else {
s = c;
s &= MBFL_WCSGROUP_MASK;
s |= MBFL_WCSGROUP_THROUGH;
}
CK((*filter->output_function)(s, filter->data));
return c;
}
/*
* wchar => ISO-8859-16
*/
int mbfl_filt_conv_wchar_8859_16(int c, mbfl_convert_filter *filter)
{
int s, n;
if (c >= 0 && c < 0xa0) {
s = c;
} else {
s = -1;
n = 95;
while (n >= 0) {
if (c == iso8859_16_ucs_table[n]) {
s = 0xa0 + n;
break;
}
n--;
}
if (s <= 0 && (c & ~MBFL_WCSPLANE_MASK) == MBFL_WCSPLANE_8859_16) {
s = c & MBFL_WCSPLANE_MASK;
}
}
if (s >= 0) {
CK((*filter->output_function)(s, filter->data));
} else {
if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) {
CK(mbfl_filt_conv_illegal_output(c, filter));
}
}
return c;
}
+23
View File
@@ -0,0 +1,23 @@
/*
* COPYRIGHT NOTICE
*
* This file is a portion of "streamable kanji code filter and converter"
* library, which is distributed under GNU Lesser General Public License
* version 2.1.
*
*/
#ifndef MBFL_MBFILTER_ISO8859_16_H
#define MBFL_MBFILTER_ISO8859_16_H
#include "mbfilter.h"
extern const mbfl_encoding mbfl_encoding_8859_16;
extern const struct mbfl_identify_vtbl vtbl_identify_8859_16;
extern const struct mbfl_convert_vtbl vtbl_8859_16_wchar;
extern const struct mbfl_convert_vtbl vtbl_wchar_8859_16;
int mbfl_filt_conv_8859_16_wchar(int c, mbfl_convert_filter *filter);
int mbfl_filt_conv_wchar_8859_16(int c, mbfl_convert_filter *filter);
#endif /* MBFL_MBFILTER_ISO8859_16_H */
+25 -14
View File
@@ -155,11 +155,30 @@ int mbfl_filt_conv_qprintenc_flush(mbfl_convert_filter *filter)
*/
int mbfl_filt_conv_qprintdec(int c, mbfl_convert_filter *filter)
{
int n;
int n, m;
static int hex2code_map[] = {
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1,
-1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
};
switch (filter->status) {
case 1:
if ((c >= 0x30 && c <= 0x39) || (c >= 0x41 && c <= 0x46)) { /* 0 - 9 or A - F */
if (hex2code_map[c & 0xff] >= 0) {
filter->cache = c;
filter->status = 2;
} else if (c == 0x0d) { /* soft line feed */
@@ -173,21 +192,13 @@ int mbfl_filt_conv_qprintdec(int c, mbfl_convert_filter *filter)
}
break;
case 2:
n = filter->cache;
if (n >= 0x30 && n <= 0x39) { /* '0' - '9' */
n -= 48; /* 48 = '0' */
} else {
n -= 55; /* 55 = 'A' - 10 */
}
n <<= 4;
if (c >= 0x30 && c <= 0x39) { /* '0' - '9' */
n += (c - 48);
} else if (c >= 0x41 && c <= 0x46) { /* 'A' - 'F' */
n += (c - 55);
} else {
m = hex2code_map[c & 0xff];
if (m < 0) {
CK((*filter->output_function)(0x3d, filter->data)); /* '=' */
CK((*filter->output_function)(filter->cache, filter->data));
n = c;
} else {
n = hex2code_map[filter->cache] << 4 | m;
}
CK((*filter->output_function)(n, filter->data));
filter->status = 0;
+65
View File
@@ -0,0 +1,65 @@
#!/usr/bin/awk -f
#
# $Id$
#
# Description: a script that generates a single byte code set to Unicode
# mapping table.
#
function conv(str) {
if (!match(str, "^0[xX]")) {
return 0 + str
}
retval = 0
for (i = 3; i <= length(str); i++) {
n = index("0123456789abcdefABCDEF", substr(str, i, 1)) - 1
if (n < 0) {
return 0 + str;
} else if (n >= 16) {
n -= 6;
}
retval = retval * 16 + n
}
return retval
}
BEGIN {
FS="[ \t#]"
}
/^#/ {
# Do nothing
}
{
tbl[conv($1)] = conv($2)
}
END {
print "/* This file is automatically generated. Do not edit! */"
if (IFNDEF_NAME) {
print "#ifndef " IFNDEF_NAME
}
print "static const int " TABLE_NAME "[] = {"
i = 160;
for (;;) {
printf("\t0x%04x, 0x%04x, 0x%04x, 0x%04x, 0x%04x, 0x%04x, 0x%04x, 0x%04x", tbl[i++], tbl[i++], tbl[i++], tbl[i++], tbl[i++], tbl[i++], tbl[i++], tbl[i++]);
if (i != 256) {
printf(",\n");
} else {
print ""
break;
}
}
print "};"
if (IFNDEF_NAME) {
print "#endif /* " IFNDEF_NAME " */"
}
}
@@ -1,44 +1,17 @@
/*
* "streamable kanji code filter and converter"
* Copyright (c) 1998-2002 HappySize, Inc. All rights reserved.
*
* LICENSE NOTICES
*
* This file is part of "streamable kanji code filter and converter",
* which is distributed under the terms of GNU Lesser General Public
* License (version 2) as published by the Free Software Foundation.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with "streamable kanji code filter and converter";
* if not, write to the Free Software Foundation, Inc., 59 Temple Place,
* Suite 330, Boston, MA 02111-1307 USA
*
* The authors of this file: PHP3 internationalization team
* You can contact the primary author 金本 茂 <sgk@happysize.co.jp>.
*
*/
/* This file is automatically generated. Do not edit! */
#ifndef UNICODE_TABLE_ISO8859_10_H
#define UNICODE_TABLE_ISO8859_10_H
static const unsigned short iso8859_10_ucs_table[] = {
0x00A0,0x0104,0x0112,0x0122,0x0124,0x0128,0x0136,0x00A7,
0x013B,0x0110,0x0160,0x0166,0x017D,0x00AD,0x016A,0x014A,
0x00B0,0x0105,0x0113,0x0123,0x012B,0x0129,0x0137,0x00B7,
0x013C,0x0111,0x0161,0x0167,0x017E,0x2015,0x016B,0x014B,
0x0100,0x00C1,0x00C2,0x00C3,0x00C4,0x00C5,0x00C6,0x012E,
0x010C,0x00C9,0x0118,0x00CB,0x0116,0x00CD,0x00CE,0x00CF,
0x00D0,0x0145,0x014C,0x00D3,0x00D4,0x00D5,0x00D6,0x0168,
0x00D8,0x0172,0x00DA,0x00DB,0x00DC,0x00DD,0x00DE,0x00DF,
0x0101,0x00E1,0x00E2,0x00E3,0x00E4,0x00E5,0x00E6,0x012F,
0x010D,0x00E9,0x0119,0x00EB,0x0117,0x00ED,0x00EE,0x00EF,
0x00F0,0x0146,0x014D,0x00F3,0x00F4,0x00F5,0x00F6,0x0169,
0x00F8,0x0173,0x00FA,0x00FB,0x00FC,0x00FD,0x00FE,0x0138
static const int iso8859_10_ucs_table[] = {
0x00a0, 0x0104, 0x0112, 0x0122, 0x012a, 0x0128, 0x0136, 0x00a7,
0x013b, 0x0110, 0x0160, 0x0166, 0x017d, 0x00ad, 0x016a, 0x014a,
0x00b0, 0x0105, 0x0113, 0x0123, 0x012b, 0x0129, 0x0137, 0x00b7,
0x013c, 0x0111, 0x0161, 0x0167, 0x017e, 0x2015, 0x016b, 0x014b,
0x0100, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e,
0x010c, 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x00cf,
0x00d0, 0x0145, 0x014c, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x0168,
0x00d8, 0x0172, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
0x0101, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f,
0x010d, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x00ef,
0x00f0, 0x0146, 0x014d, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x0169,
0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x0138
};
#endif /* UNICODE_TABLE_ISO8859_10_H */
@@ -1,44 +1,17 @@
/*
* "streamable kanji code filter and converter"
* Copyright (c) 1998-2002 HappySize, Inc. All rights reserved.
*
* LICENSE NOTICES
*
* This file is part of "streamable kanji code filter and converter",
* which is distributed under the terms of GNU Lesser General Public
* License (version 2) as published by the Free Software Foundation.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with "streamable kanji code filter and converter";
* if not, write to the Free Software Foundation, Inc., 59 Temple Place,
* Suite 330, Boston, MA 02111-1307 USA
*
* The authors of this file: PHP3 internationalization team
* You can contact the primary author 金本 茂 <sgk@happysize.co.jp>.
*
*/
/* This file is automatically generated. Do not edit! */
#ifndef UNICODE_TABLE_ISO8859_13_H
#define UNICODE_TABLE_ISO8859_13_H
static const unsigned short iso8859_13_ucs_table[] = {
0x00A0,0x201D,0x00A2,0x00A3,0x00A4,0x201E,0x00A6,0x00A7,
0x00D8,0x00A9,0x0156,0x00AB,0x00AC,0x00AD,0x00AE,0x00C6,
0x00B0,0x00B1,0x00B2,0x00B3,0x201C,0x00B5,0x00B6,0x00B7,
0x00F8,0x00B9,0x0157,0x00BB,0x00BC,0x00BD,0x00BE,0x00E6,
0x0104,0x012E,0x0100,0x0106,0x00C4,0x00C5,0x0118,0x0112,
0x010C,0x00C9,0x0179,0x0116,0x0122,0x0136,0x012A,0x013B,
0x0160,0x0143,0x0145,0x00D3,0x014C,0x00D5,0x00D6,0x00D7,
0x0172,0x0141,0x015A,0x016A,0x00DC,0x017B,0x017D,0x00DF,
0x0105,0x012F,0x0101,0x0107,0x00E4,0x00E5,0x0119,0x0113,
0x010D,0x00E9,0x017A,0x0117,0x0123,0x0137,0x012B,0x013C,
0x0161,0x0144,0x0146,0x00F3,0x014D,0x00F5,0x00F6,0x00F7,
0x0173,0x0142,0x015B,0x016B,0x00FC,0x017C,0x017E,0x2019
static const int iso8859_13_ucs_table[] = {
0x00a0, 0x201d, 0x00a2, 0x00a3, 0x00a4, 0x201e, 0x00a6, 0x00a7,
0x00d8, 0x00a9, 0x0156, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00c6,
0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x201c, 0x00b5, 0x00b6, 0x00b7,
0x00f8, 0x00b9, 0x0157, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00e6,
0x0104, 0x012e, 0x0100, 0x0106, 0x00c4, 0x00c5, 0x0118, 0x0112,
0x010c, 0x00c9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012a, 0x013b,
0x0160, 0x0143, 0x0145, 0x00d3, 0x014c, 0x00d5, 0x00d6, 0x00d7,
0x0172, 0x0141, 0x015a, 0x016a, 0x00dc, 0x017b, 0x017d, 0x00df,
0x0105, 0x012f, 0x0101, 0x0107, 0x00e4, 0x00e5, 0x0119, 0x0113,
0x010d, 0x00e9, 0x017a, 0x0117, 0x0123, 0x0137, 0x012b, 0x013c,
0x0161, 0x0144, 0x0146, 0x00f3, 0x014d, 0x00f5, 0x00f6, 0x00f7,
0x0173, 0x0142, 0x015b, 0x016b, 0x00fc, 0x017c, 0x017e, 0x2019
};
#endif /* UNICODE_TABLE_ISO8859_13_H */
@@ -1,44 +1,17 @@
/*
* "streamable kanji code filter and converter"
* Copyright (c) 1998-2002 HappySize, Inc. All rights reserved.
*
* LICENSE NOTICES
*
* This file is part of "streamable kanji code filter and converter",
* which is distributed under the terms of GNU Lesser General Public
* License (version 2) as published by the Free Software Foundation.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with "streamable kanji code filter and converter";
* if not, write to the Free Software Foundation, Inc., 59 Temple Place,
* Suite 330, Boston, MA 02111-1307 USA
*
* The authors of this file: PHP3 internationalization team
* You can contact the primary author 金本 茂 <sgk@happysize.co.jp>.
*
*/
/* This file is automatically generated. Do not edit! */
#ifndef UNICODE_TABLE_ISO8859_14_H
#define UNICODE_TABLE_ISO8859_14_H
static const unsigned short iso8859_14_ucs_table[] = {
0x00A0,0x1E02,0x1E03,0x00A3,0x010A,0x010B,0x1E0A,0x00A7,
0x1E80,0x00A9,0x1E82,0x1E0B,0x1EF2,0x00AD,0x00AE,0x0178,
0x1E1E,0x1E1F,0x0120,0x0121,0x1E40,0x1E41,0x00B6,0x1E56,
0x1E81,0x1E57,0x1E83,0x1E60,0x1EF3,0x1E84,0x1E85,0x1E61,
0x00C0,0x00C1,0x00C2,0x00C3,0x00C4,0x00C5,0x00C6,0x00C7,
0x00C8,0x00C9,0x00CA,0x00CB,0x00CC,0x00CD,0x00CE,0x00CF,
0x0174,0x00D1,0x00D2,0x00D3,0x00D4,0x00D5,0x00D6,0x1E6A,
0x00D8,0x00D9,0x00DA,0x00DB,0x00DC,0x00DD,0x0176,0x00DF,
0x00E0,0x00E1,0x00E2,0x00E3,0x00E4,0x00E5,0x00E6,0x00E7,
0x00E8,0x00E9,0x00EA,0x00EB,0x00EC,0x00ED,0x00EE,0x00EF,
0x0175,0x00F1,0x00F2,0x00F3,0x00F4,0x00F5,0x00F6,0x1E6B,
0x00F8,0x00F9,0x00FA,0x00FB,0x00FC,0x00FD,0x0177,0x00FF
static const int iso8859_14_ucs_table[] = {
0x00a0, 0x1e02, 0x1e03, 0x00a3, 0x010a, 0x010b, 0x1e0a, 0x00a7,
0x1e80, 0x00a9, 0x1e82, 0x1e0b, 0x1ef2, 0x00ad, 0x00ae, 0x0178,
0x1e1e, 0x1e1f, 0x0120, 0x0121, 0x1e40, 0x1e41, 0x00b6, 0x1e56,
0x1e81, 0x1e57, 0x1e83, 0x1e60, 0x1ef3, 0x1e84, 0x1e85, 0x1e61,
0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
0x0174, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x1e6a,
0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x0176, 0x00df,
0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
0x0175, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x1e6b,
0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x0177, 0x00ff
};
#endif /* UNICODE_TABLE_ISO8859_14_H */
Loaded 100 of 349 files, more files were not shown because too many files have changed in this diff. Show more