search for: swfdec_as_double_to_str

Displaying 19 results from an estimated 19 matches for "swfdec_as_double_to_str".

2008 Jan 07
0
3 commits - libswfdec-gtk/swfdec_gtk_loader.c libswfdec/swfdec_as_array.c libswfdec/swfdec_asbroadcaster.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_types.c libswfdec/swfdec_xml.c
...fdec/swfdec_asbroadcaster.c | 2 +- libswfdec/swfdec_xml.c | 5 +++-- 6 files changed, 24 insertions(+), 27 deletions(-) New commits: commit 7384ece8d36106701d9231cae70a071af55206fe Author: Benjamin Otte <otte at gnome.org> Date: Mon Jan 7 10:39:35 2008 +0100 replace swfdec_as_double_to_string with swfdec_as_integer_to_string where appropriate diff --git a/libswfdec/swfdec_as_array.c b/libswfdec/swfdec_as_array.c index 61a62e9..f28170c 100644 --- a/libswfdec/swfdec_as_array.c +++ b/libswfdec/swfdec_as_array.c @@ -182,7 +182,7 @@ swfdec_as_array_remove_range (SwfdecAsArray *array, gin...
2007 Jul 21
0
12 commits - configure.ac doc/Makefile.am doc/swfdec-sections.txt libswfdec/jpeg libswfdec/swfdec_as_array.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_strings.c libswfdec/swfdec_player.c libswfdec/swfdec_player.h libswfdec/swfdec_player_internal.h
...dx = swfdec_as_array_to_index (variable); + if (idx == -1) return variable; - if (index >= fdata->start_index && index < fdata->start_index + fdata->num) { + if (idx >= fdata->start_index && idx < fdata->start_index + fdata->num) { return swfdec_as_double_to_string (object->context, - fdata->to_index + index - fdata->start_index); - } else if (index >= fdata->to_index && index < fdata->to_index + fdata->num) { + fdata->to_index + idx - fdata->start_index); + } else if (idx >= fdata->to_index && idx <...
2007 Aug 17
0
2 commits - libswfdec/swfdec_as_array.c test/trace
...Value *argv, SwfdecAsValue *ret) { gint32 length; const char *var; - length = swfdec_as_array_get_length (object); - if (length <= 0) + // we allow negative indexes here, but not 0 + length = swfdec_as_array_get_length_as_integer (object); + if (length == 0) return; var = swfdec_as_double_to_string (object->context, length - 1); swfdec_as_object_get_variable (object, var, ret); - swfdec_as_array_set_length (object, length - 1); + + // if Array, the length is reduced by one (which destroys the variable also) + // else the length is not reduced at all, but the variable is still dele...
2007 Aug 17
0
Branch 'vivi' - 9 commits - libswfdec/swfdec_as_array.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_function.h libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_native_function.c
...Value *argv, SwfdecAsValue *ret) { gint32 length; const char *var; - length = swfdec_as_array_get_length (object); - if (length <= 0) + // we allow negative indexes here, but not 0 + length = swfdec_as_array_get_length_as_integer (object); + if (length == 0) return; var = swfdec_as_double_to_string (object->context, length - 1); swfdec_as_object_get_variable (object, var, ret); - swfdec_as_array_set_length (object, length - 1); + + // if Array, the length is reduced by one (which destroys the variable also) + // else the length is not reduced at all, but the variable is still dele...
2007 Dec 17
0
2 commits - doc/Makefile.am doc/swfdec-sections.txt NEWS
...swfdec_player_get_audio swfdec_player_get_maximum_runtime swfdec_player_set_maximum_runtime <SUBSECTION Standard> +SwfdecPlayerPrivate SwfdecPlayerClass SWFDEC_PLAYER SWFDEC_IS_PLAYER @@ -284,6 +287,7 @@ SWFDEC_AS_VALUE_SET_OBJECT swfdec_as_value_to_primitive swfdec_as_value_to_debug swfdec_as_double_to_string +swfdec_as_integer_to_string swfdec_as_str_concat <SUBSECTION Standard> SWFDEC_IS_AS_VALUE @@ -344,6 +348,7 @@ swfdec_as_object_set_variable_and_flags swfdec_as_object_add_variable swfdec_as_object_set_variable_flags swfdec_as_object_unset_variable_flags +swfdec_as_object_has_variabl...
2007 Jun 28
0
Branch 'as' - 2 commits - doc/swfdec-sections.txt libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h
...FDEC_AS_VALUE_SET_INT +SWFDEC_AS_VALUE_SET_NUMBER +SWFDEC_AS_VALUE_GET_STRING +swfdec_as_value_to_string +SWFDEC_AS_VALUE_SET_STRING +SWFDEC_AS_VALUE_SET_NULL +SWFDEC_AS_VALUE_GET_OBJECT swfdec_as_value_to_object +SWFDEC_AS_VALUE_SET_OBJECT swfdec_as_value_to_primitive -swfdec_as_value_to_string +swfdec_as_double_to_string +swfdec_as_str_concat +<SUBSECTION Standard> +SWFDEC_IS_AS_VALUE +SWFDEC_AS_VALUE_IS_UNDEFINED +SWFDEC_AS_VALUE_IS_BOOLEAN +SWFDEC_AS_VALUE_IS_NUMBER +SWFDEC_AS_VALUE_IS_STRING +SWFDEC_AS_VALUE_IS_NULL +SWFDEC_AS_VALUE_IS_OBJECT </SECTION> diff --git a/libswfdec/swfdec_as_types.c b/...
2007 Jul 12
0
Branch 'as' - 7 commits - libswfdec/swfdec_as_array.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_as_with.c libswfdec/swfdec_sprite_movie.c test/trace
...-- a/libswfdec/swfdec_as_array.c +++ b/libswfdec/swfdec_as_array.c @@ -368,16 +368,20 @@ swfdec_as_array_join (SwfdecAsContext *c length = swfdec_as_array_get_length (object); if (length > 0) { + /* FIXME: implement this with the StringBuilder class */ + GString *string; var = swfdec_as_double_to_string (cx, 0); swfdec_as_object_get_variable (object, var, &val); str = swfdec_as_value_to_string (cx, &val); + string = g_string_new (str); for (i = 1; i < length; i++) { var = swfdec_as_double_to_string (cx, i); swfdec_as_object_get_variable (object, var, &...
2007 Sep 14
0
4 commits - libswfdec/swfdec_as_function.c libswfdec/swfdec_as_object.c test/trace
...ike providing argv not as an array */ + if (!swfdec_as_context_use_mem (cx, sizeof (SwfdecAsValue) * length)) + return; argv_pass = g_malloc (sizeof (SwfdecAsValue) * length); for (i = 0; i < length; i++) { @@ -201,21 +205,18 @@ swfdec_as_function_apply (SwfdecAsContex swfdec_as_double_to_string (cx, i), &argv_pass[i]); } } else { - argv_pass = NULL; + length = 0; } - - swfdec_as_function_call (SWFDEC_AS_FUNCTION (fun), thisp, length, - argv_pass, ret); - - if (argv_pass != NULL) - g_free (argv_pass); - } - else - { - swfdec_as_function_ca...
2007 Dec 03
0
12 commits - libswfdec/Makefile.am libswfdec/swfdec_as_strings.c libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h libswfdec/swfdec_gradient_pattern.c libswfdec/swfdec_gradient_pattern.h libswfdec/swfdec_movie_as_drawing.c libswfdec/swfdec_pattern.c
..._as_integer_to_string() diff --git a/libswfdec/swfdec_as_types.c b/libswfdec/swfdec_as_types.c index 34cbbc5..d4bbfb9 100644 --- a/libswfdec/swfdec_as_types.c +++ b/libswfdec/swfdec_as_types.c @@ -216,6 +216,22 @@ swfdec_as_str_concat (SwfdecAsContext *cx, const char * s1, const char *s2) /** * swfdec_as_double_to_string: * @context: a #SwfdecAsContext + * @i: an integer that fits into 32 bits + * + * Converts @d into a string using the same conversion algorithm as the + * official Flash player. + * + * Returns: a garbage-collected string + **/ +const char * +swfdec_as_integer_to_string (SwfdecAsContext *cont...
2007 Jun 28
0
Branch 'as' - 4 commits - doc/Makefile.am doc/swfdec-docs.sgml doc/swfdec-sections.txt libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h
...ing + * + * Convenience function to concatenate two garbage-collected strings. This + * function is equivalent to g_strconcat (). + * + * Returns: A new garbage-collected string + **/ const char * swfdec_as_str_concat (SwfdecAsContext *cx, const char * s1, const char *s2) { @@ -174,10 +235,13 @@ swfdec_as_double_to_string (SwfdecAsCont * @context: a #SwfdecAsContext * @value: value to be expressed as string * - * Converts @value to a string. - * <warning>This function may run the garbage collector.</warning> + * Converts @value to a string according to the rules of Flash. This might + * cause c...
2008 Jan 10
0
8 commits - libswfdec/swfdec_as_date.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_types.c libswfdec/swfdec_bits.c libswfdec/swfdec_codec_gst.c libswfdec/swfdec_text_field_movie_html.c test/trace
...Should make porting easier. diff --git a/libswfdec/swfdec_as_types.c b/libswfdec/swfdec_as_types.c index 8e87a6b..420d094 100644 --- a/libswfdec/swfdec_as_types.c +++ b/libswfdec/swfdec_as_types.c @@ -248,105 +248,103 @@ swfdec_as_integer_to_string (SwfdecAsContext *context, int i) const char * swfdec_as_double_to_string (SwfdecAsContext *context, double d) { + gboolean found = FALSE, gotdot = FALSE; + guint digits = 15; + char tmp[50], *end, *start, *s; + g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), SWFDEC_AS_STR_EMPTY); - switch (fpclassify (d)) { - case FP_ZERO: - return SWFDEC_AS_S...
2007 Sep 04
0
4 commits - libswfdec/swfdec_as_array.c libswfdec/swfdec_video_movie_as.c test/trace
.....30cf22a 100644 --- a/libswfdec/swfdec_as_array.c +++ b/libswfdec/swfdec_as_array.c @@ -549,7 +549,7 @@ swfdec_as_array_foreach_reverse (SwfdecA gint32 idx; idx = swfdec_as_array_to_index (variable); - if (idx == -1) + if (idx == -1 || idx >= *length) return variable; return swfdec_as_double_to_string (object->context, *length - 1 - idx); @@ -761,7 +761,7 @@ swfdec_as_array_foreach_sort_rename (Swf gboolean after_undefined = FALSE; idx = swfdec_as_array_to_index (variable); - if (idx == -1) + if (idx == -1 || idx >= fdata->length) return variable; if (SWFDEC_AS_VA...
2007 Jul 12
0
15 commits - doc/Makefile.am doc/swfdec-docs.sgml doc/swfdec-sections.txt INSTALL libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_interpret.h libswfdec/swfdec_as_object.h
...;TITLE>Enumerations</TITLE> +SwfdecAsContextState SwfdecLoaderDataType SwfdecLoaderRequest swfdec_loader_data_type_get_extension @@ -205,6 +206,7 @@ SWFDEC_AS_VALUE_GET_OBJECT swfdec_as_value_to_object SWFDEC_AS_VALUE_SET_OBJECT swfdec_as_value_to_primitive +swfdec_as_value_to_debug swfdec_as_double_to_string swfdec_as_str_concat <SUBSECTION Standard> @@ -220,6 +222,7 @@ SWFDEC_AS_VALUE_IS_OBJECT <SECTION> <FILE>SwfdecAsContext</FILE> <TITLE>SwfdecAsContext</TITLE> +SwfdecAsContext swfdec_as_context_startup swfdec_as_context_abort swfdec_as_context_get_stri...
2007 Jul 27
0
11 commits - libswfdec/swfdec_asbroadcaster.c libswfdec/swfdec_as_strings.c libswfdec/swfdec_initialize.as libswfdec/swfdec_initialize.h libswfdec/swfdec_net_stream.c libswfdec/swfdec_player.c libswfdec/swfdec_sprite_movie_as.c test/trace
...eners, *o; gint i, length; const char *name; GSList *list = NULL, *walk; @@ -61,9 +61,13 @@ broadcastMessage (SwfdecAsContext *cx, S /* FIXME: solve this wth foreach, so it gets faster for weird cases */ for (i = 0; i < length; i++) { swfdec_as_object_get_variable (listeners, swfdec_as_double_to_string (cx, i), &val); - if (SWFDEC_AS_VALUE_IS_OBJECT (&val)) - list = g_slist_prepend (list, SWFDEC_AS_VALUE_GET_OBJECT (&val)); + o = swfdec_as_value_to_object (cx, &val); + if (o == NULL) + continue; + list = g_slist_prepend (list, o); } + if (list == NULL)...
2007 Dec 20
0
13 commits - libswfdec/swfdec_as_array.c libswfdec/swfdec_xml.c libswfdec/swfdec_xml_node.c test/trace
...9..2c89241 100644 --- a/libswfdec/swfdec_as_array.c +++ b/libswfdec/swfdec_as_array.c @@ -181,8 +181,8 @@ swfdec_as_array_remove_range (SwfdecAsArray *array, gint32 start_index, // to avoid foreach loop, use special case when removing just one variable if (num == 1) { - const char *var = swfdec_as_double_to_string (object->context, start_index); - swfdec_as_object_delete_variable (object, var); + swfdec_as_object_delete_variable (object, + swfdec_as_double_to_string (object->context, start_index)); } else { ForeachRemoveRangeData fdata = { start_index, num }; swfdec_as_object_fore...
2007 Sep 11
0
8 commits - libswfdec/swfdec_as_function.c libswfdec/swfdec_as_initialize.as libswfdec/swfdec_as_initialize.h libswfdec/swfdec_as_object.c libswfdec/swfdec_as_strings.c test/trace
...s_object_get_variable (array, SWFDEC_AS_STR_length, &val); + length = swfdec_as_value_to_integer (cx, &val); + + if (length > 0) { + argv_pass = g_malloc (sizeof (SwfdecAsValue) * length); + + for (i = 0; i < length; i++) { + swfdec_as_object_get_variable (array, + swfdec_as_double_to_string (cx, i), &argv_pass[i]); + } + } else { + argv_pass = NULL; + } + + swfdec_as_function_call (SWFDEC_AS_FUNCTION (fun), thisp, length, + argv_pass, ret); + + if (argv_pass != NULL) + g_free (argv_pass); + } + else + { + swfdec_as_function_call (SWFDEC_AS_FUNCT...
2007 Jul 26
0
17 commits - doc/swfdec-sections.txt libswfdec/compiler.c libswfdec/.gitignore libswfdec/Makefile.am libswfdec/swfdec_asbroadcaster.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_as_strings.c
...ec_as_value_to_integer (cx, &val); + + /* return undefined if we won't try to call anything */ + if (length <= 0) + return; + + /* FIXME: solve this wth foreach, so it gets faster for weird cases */ + for (i = 0; i < length; i++) { + swfdec_as_object_get_variable (listeners, swfdec_as_double_to_string (cx, i), &val); + if (SWFDEC_AS_VALUE_IS_OBJECT (&val)) + list = g_slist_prepend (list, SWFDEC_AS_VALUE_GET_OBJECT (&val)); + } + list = g_slist_reverse (list); + for (walk = list; walk; walk = walk->next) { + swfdec_as_object_call (walk->data, name, argc, argv, &...
2007 Jul 04
0
Branch 'as' - 25 commits - libswfdec/Makefile.am libswfdec/swfdec_as_boolean.c libswfdec/swfdec_as_boolean.h libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c
..._value_to_objec void swfdec_as_value_to_primitive (SwfdecAsValue * value); const char * swfdec_as_value_to_string (SwfdecAsContext * context, const SwfdecAsValue * value); +char * swfdec_as_value_to_debug (const SwfdecAsValue * value); /* special conversion functions */ const char * swfdec_as_double_to_string (SwfdecAsContext * context, diff --git a/player/swfdec_debug_stack.c b/player/swfdec_debug_stack.c index b6f2a91..3afffea 100644 --- a/player/swfdec_debug_stack.c +++ b/player/swfdec_debug_stack.c @@ -72,11 +72,12 @@ swfdec_debug_stack_set_model (SwfdecDebu guint i = 0; for (val = fram...
2008 Jan 01
0
4 commits - libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_object.c libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h libswfdec/swfdec_sprite_movie_as.c test/trace
...swfdec/swfdec_as_types.h @@ -127,6 +127,7 @@ char * swfdec_as_value_to_debug (const SwfdecAsValue * value); /* special conversion functions */ const char * swfdec_as_integer_to_string (SwfdecAsContext * context, int i); +int swfdec_as_double_to_integer (double d); const char * swfdec_as_double_to_string (SwfdecAsContext * context, double d); const char * swfdec_as_str_concat (SwfdecAsContext * cx,