Commit graph

38 commits

Author SHA1 Message Date
Gustavo André dos Santos Lopes
ec23c3e540 MessageFormatter accepts IntlCalendar arguments
Now MessageFormatter::format() accepts IntlCalendar objects to be used in
arguments of type Format::kDate.
2012-05-17 17:57:37 +02:00
Gustavo André dos Santos Lopes
e9351b89a9 Bug #58756: w.r.t MessageFormatter (partial fix)
I don't think the current ICU API allows this bug to be completely fixed.

Right now, the code cannot control the time zone used in date/time formats
that appear inside complex subformats. See the comment inside
umsg_set_timezone().
2012-05-17 17:57:01 +02:00
Gustavo André dos Santos Lopes
ac33e40d2a Keep date precision in MessageFormatter.
MessageFormatter::parse and MessageFormat::format (and their static
equivalents) now don't throw away better than second precision in the
arguments.

It's already bad enough that in MessageFormatter and IntlDateFormatter we
use seconds since epoch instead of milliseconds since epoch, deviating
from the ICU date representations. But we don't need to throw away extra
precision when parsing dates; we can keep the seconds since epoch
convention and return non integer doubles with only a small BC impact.
Note that we already could return doubles from MessageFormatter::parse if
the date was sufficiently in the past or in the future.
2012-05-13 23:03:07 +02:00
Gustavo André dos Santos Lopes
53860672f3 ICU < 4.8 compat in MessageFormatter
Restricted support for named arguments to ICU 4.8+.

Also added bound checks when converting arguments to Formattables.
2012-05-13 20:55:02 +01:00
Gustavo André dos Santos Lopes
43ff66e095 Don't check number of args in msgfmt_do_format
The check does not work reliably across ICU versions when named arguments
are added to the mix. For instance, for recent versions of ICU like 49,
a pattern like "{foo,number} {foo}", has 0 returned from
umsg_format_arg_count(), but for ICU 4.0, this returns 2.
2012-05-13 20:54:55 +01:00
Gustavo André dos Santos Lopes
1c4f99b988 Better error messages in MessageFormatter::format. 2012-05-13 20:53:06 +01:00
Gustavo André dos Santos Lopes
0ad1b14f16 Accept numeric strings for dates.
Refactored umsg_helper_zval_to_millis in the process.
2012-05-13 20:53:06 +01:00
Gustavo André dos Santos Lopes
20dd5ccf19 Cache arguments type info in MessageFormatter. 2012-05-13 20:53:05 +01:00
Gustavo André dos Santos Lopes
407455876e Set global error if insufficient numeric args. WS. 2012-05-13 20:53:05 +01:00
Gustavo André dos Santos Lopes
edca0e2adb Refactoring of patch for FR #61871. 2012-05-13 20:52:41 +01:00
Gustavo André dos Santos Lopes
c9b913b56b Orig patch for FR #61871 by David Sklar 2012-05-13 20:51:43 +01:00
Felipe Pena
93d42fb444 Merge branch 'PHP-5.4'
* PHP-5.4:
  - Fixed bug #61829 (Memory leak when calling MessageFormatter's constructor twice)
2012-04-23 15:19:35 -03:00
Felipe Pena
883d40667d Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Fixed bug #61829 (Memory leak when calling MessageFormatter's constructor twice)
2012-04-23 15:19:23 -03:00
Felipe Pena
c8865e3b84 - Fixed bug #61829 (Memory leak when calling MessageFormatter's constructor twice) 2012-04-23 15:18:12 -03:00
Gustavo André dos Santos Lopes
95fbae891a Compatibility with old versions of ICU (4.0+). 2012-04-01 23:28:01 +01:00
Felipe Pena
13eb47a8bc - Added missing PHP_FE_END/ZEND_FE_END 2011-08-06 01:22:27 +00:00
Felipe Pena
783b05326a - Added missing PHP_FE_END/ZEND_FE_END 2011-08-06 01:22:27 +00:00
Felipe Pena
9c289189d3 - Added missing PHP_FE_END/ZEND_FE_END 2011-08-06 01:22:27 +00:00
Felipe Pena
8b27b6d559 - Fixed possible efree(NULL) (bug #55296) 2011-08-04 00:59:43 +00:00
Felipe Pena
d8f08192ef - Fixed possible efree(NULL) (bug #55296) 2011-08-04 00:59:43 +00:00
Felipe Pena
463de70efd - Fixed possible efree(NULL) (bug #55296) 2011-08-04 00:59:43 +00:00
Stanislav Malyshev
7d3a0e15f5 Imlement clone for formatters that support it
# also some test fixes, more to follow
2011-01-03 03:58:57 +00:00
Stanislav Malyshev
28584c233e Imlement clone for formatters that support it
# also some test fixes, more to follow
2011-01-03 03:58:57 +00:00
Gustavo André dos Santos Lopes
9ec9210fbc - Fixed bug #53612 (Segmentation fault when using several cloned intl
objects).
2010-12-27 01:10:08 +00:00
Gustavo André dos Santos Lopes
610bb96036 - Fixed bug #53612 (Segmentation fault when using several cloned intl
objects).
2010-12-27 01:10:08 +00:00
Johannes Schlüter
26b08f9857 Remove main/php3_compat.h, for that a few references to function_entry have
to be replaced by `zend_function_entry`.
2010-03-30 23:03:02 +00:00
Ilia Alshanetsky
814e4588f4 Removed unused variable 2009-04-27 23:22:16 +00:00
Ilia Alshanetsky
c5c9f30d36 Removed unused vars 2009-04-22 12:35:22 +00:00
Felipe Pena
fc2fb50d09 - MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro 2008-11-17 11:28:01 +00:00
Felipe Pena
7a37fa2d6b - Revert ZEND_BEGIN_ARG_INFO change 2008-11-02 21:19:39 +00:00
Felipe Pena
df10005563 - MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro 2008-10-24 14:35:40 +00:00
Ed Batutis
8e0529e0d1 Fix for pecl bug 14664 - problem with older gcc 2008-10-16 18:06:05 +00:00
Felipe Pena
eb1837d9de MFH:
- Added arginfo
- Fixed WS
- Changed C++ comments to C comments
2008-08-11 19:48:00 +00:00
Felipe Pena
81d894293d - MFH: Fixed crash msgfmt_get_pattern 2008-08-06 16:17:27 +00:00
Stanislav Malyshev
0d30c88ded use correct locale check 2008-07-22 20:40:01 +00:00
Stanislav Malyshev
07667caf13 typofixes 2008-07-22 20:25:51 +00:00
Stanislav Malyshev
d54c396dca refactor ctors, cleanup code 2008-07-22 20:23:47 +00:00
Stanislav Malyshev
0d16b1516b Merge intl extension into core 2008-07-07 22:51:04 +00:00