Benjamin Otte
2007-Oct-11 21:20 UTC
[Swfdec] 2 commits - libswfdec/swfdec_text_format.c libswfdec/swfdec_xml.c libswfdec/swfdec_xml.h
libswfdec/swfdec_text_format.c | 10 ++++++++-- libswfdec/swfdec_xml.c | 9 ++++++++- libswfdec/swfdec_xml.h | 2 +- 3 files changed, 17 insertions(+), 4 deletions(-) New commits: diff-tree 2adb53ebb5ba9d6dbe8993ab64f70f6fad919895 (from 90c5b254605f93fe97116e5032627075a1013957) Author: Benjamin Otte <otte at gnome.org> Date: Thu Oct 11 23:23:08 2007 +0200 make PPC happy diff --git a/libswfdec/swfdec_xml.c b/libswfdec/swfdec_xml.c index 06a4101..253d07f 100644 --- a/libswfdec/swfdec_xml.c +++ b/libswfdec/swfdec_xml.c @@ -21,6 +21,7 @@ #include "config.h" #endif +#include <math.h> #include <string.h> #include "swfdec_xml.h" @@ -320,6 +321,8 @@ static void swfdec_xml_set_status (SwfdecAsContext *cx, SwfdecAsObject *object, guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret) { + double d; + if (!SWFDEC_IS_XML (object)) return; @@ -334,7 +337,11 @@ swfdec_xml_set_status (SwfdecAsContext * if (SWFDEC_AS_VALUE_IS_OBJECT (&argv[0])) swfdec_as_value_to_string (cx, &argv[0]); - SWFDEC_XML (object)->status = swfdec_as_value_to_number (cx, &argv[0]); + d = swfdec_as_value_to_number (cx, &argv[0]); + if (!isfinite (d)) + SWFDEC_XML (object)->status = G_MININT32; + else + SWFDEC_XML (object)->status = (int) d; } static const char * diff --git a/libswfdec/swfdec_xml.h b/libswfdec/swfdec_xml.h index c06562d..e0e8cc8 100644 --- a/libswfdec/swfdec_xml.h +++ b/libswfdec/swfdec_xml.h @@ -55,7 +55,7 @@ struct _SwfdecXml { SwfdecXmlNode xml_node; gboolean ignoreWhite; - SwfdecXmlParseStatus status; + int status; const char *xmlDecl; const char *docTypeDecl; diff-tree 90c5b254605f93fe97116e5032627075a1013957 (from cd10b0bf08549c0002ff4dfc996736aa773eca68) Author: Benjamin Otte <otte at gnome.org> Date: Thu Oct 11 23:06:36 2007 +0200 PPC fixes I don't think the casts are sane now, but at least they work on 32bit PPC. diff --git a/libswfdec/swfdec_text_format.c b/libswfdec/swfdec_text_format.c index a023b13..273e611 100644 --- a/libswfdec/swfdec_text_format.c +++ b/libswfdec/swfdec_text_format.c @@ -212,7 +212,10 @@ swfdec_text_format_value_to_integer (Swf return -2147483648; } else { if (is_unsigned) { - return (unsigned)d; + if (!isfinite (d)) + return 0; + else + return (unsigned)d; } else { if (!allow_negative && (int)d < 0) { return 0; @@ -223,7 +226,10 @@ swfdec_text_format_value_to_integer (Swf } } else { if (is_unsigned) { - return (unsigned)n; + if (!isfinite (d)) + return 0; + else + return (unsigned)n; } else { if (!allow_negative && n < 0) { return 0;
Maybe Matching Threads
- 6 commits - libswfdec/compiler.c libswfdec/swfdec_as_date.h libswfdec/swfdec_text_format.c libswfdec/swfdec_xml.c test/dump.c test/render.c test/render-fast.c
- 2 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_text_field_movie.c libswfdec/swfdec_text_format.c
- 4 commits - libswfdec/swfdec_as_object.c libswfdec/swfdec_movie.c libswfdec/swfdec_policy_loader.c libswfdec/swfdec_text_field_movie.c libswfdec/swfdec_text_format.c
- 18 commits - libswfdec/swfdec_player_internal.h libswfdec/swfdec_text_field_movie_as.c libswfdec/swfdec_text_format.c libswfdec/swfdec_text_format.h libswfdec/swfdec_xml.c libswfdec/swfdec_xml_node.c libswfdec/swfdec_xml_node.h test/trace
- 5 commits - libswfdec/swfdec_html_parser.c libswfdec/swfdec_text_field.c libswfdec/swfdec_text_field.h libswfdec/swfdec_text_field_movie_as.c libswfdec/swfdec_text_field_movie.c libswfdec/swfdec_xml.c libswfdec/swfdec_xml.h