search for: swfdec_as_value_get_str

Displaying 20 results from an estimated 33 matches for "swfdec_as_value_get_str".

2007 Jun 28
0
Branch 'as' - 2 commits - doc/swfdec-sections.txt libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h
...pe SwfdecAsValue +SWFDEC_AS_VALUE_SET_UNDEFINED +SWFDEC_AS_VALUE_GET_BOOLEAN swfdec_as_value_to_boolean -swfdec_as_value_to_integer +SWFDEC_AS_VALUE_SET_BOOLEAN +SWFDEC_AS_VALUE_GET_NUMBER swfdec_as_value_to_number +swfdec_as_value_to_integer +SWFDEC_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&...
2007 May 29
0
Branch 'as' - 8 commits - libswfdec/Makefile.am libswfdec/swfdec_as_array.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_math.c libswfdec/swfdec_as_math.h libswfdec/swfdec_as_strings.c libswfdec/swfdec_as_types.c
.../libswfdec/swfdec_as_interpret.c +++ b/libswfdec/swfdec_as_interpret.c @@ -669,6 +669,8 @@ swfdec_action_call_method (SwfdecAsConte swfdec_as_object_get_variable (obj, name, swfdec_as_stack_peek (frame->stack, 2)); } } else { + if (SWFDEC_AS_VALUE_IS_STRING (val)) + name = SWFDEC_AS_VALUE_GET_STRING (val); SWFDEC_AS_VALUE_SET_NULL (swfdec_as_stack_peek (frame->stack, 3)); SWFDEC_AS_VALUE_SET_UNDEFINED (swfdec_as_stack_peek (frame->stack, 2)); } diff-tree b5cddf5ee7be4ec7c966a61692b4f3fe37e35b75 (from 228f4e1eba33dcdd45634a44c3c5736e3963c982) Author: Benjamin Otte <otte...
2007 Jun 17
2
Branch 'as' - libswfdec/swfdec_as_interpret.c
...+780,8 @@ swfdec_action_new_comparison_7 (SwfdecAs swfdec_as_stack_pop (cx->frame->stack); SWFDEC_AS_VALUE_SET_UNDEFINED (swfdec_as_stack_peek (cx->frame->stack, 1)); } else if (SWFDEC_AS_VALUE_IS_STRING (rval) || SWFDEC_AS_VALUE_IS_STRING (lval)) { - int comp = strcmp (SWFDEC_AS_VALUE_GET_STRING (rval), SWFDEC_AS_VALUE_GET_STRING (lval)); + int comp = strcmp (swfdec_as_value_to_string (cx, rval), + swfdec_as_value_to_string (cx, lval)); swfdec_as_stack_pop (cx->frame->stack); SWFDEC_AS_VALUE_SET_BOOLEAN (swfdec_as_stack_peek (cx->frame->stack, 1)...
2007 Apr 12
0
Branch 'as' - 15 commits - 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 libswfdec/swfdec_as_function.h libswfdec/swfdec_as_interpret.c
...C_TYPE_AS_ASOBJECT: - SWFDEC_ERROR ("FIXME"); - return SWFDEC_AS_STR_OBJECT_OBJECT; + { + SwfdecAsValue ret; + swfdec_as_object_call (SWFDEC_AS_VALUE_GET_OBJECT (value), SWFDEC_AS_STR_TOSTRING, + 0, NULL, &ret); + if (SWFDEC_AS_VALUE_IS_STRING (&ret)) + return SWFDEC_AS_VALUE_GET_STRING (&ret); + else + return SWFDEC_AS_STR_OBJECT_OBJECT; + } default: g_assert_not_reached (); return SWFDEC_AS_STR_EMPTY; diff --git a/libswfdec/swfdec_as_types.h b/libswfdec/swfdec_as_types.h index a65772a..b114bae 100644 --- a/libswfdec/swfdec_as_types.h +++ b/libswf...
2007 May 29
0
Branch 'as' - 6 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_js_xml.c libswfdec/swfdec_tag.c player/swfplay.c
...cond = SWFDEC_AS_VALUE_GET_NUMBER (rval) == SWFDEC_AS_VALUE_GET_NUMBER (lval); + { + double l, r; + r = SWFDEC_AS_VALUE_GET_NUMBER (rval); + l = SWFDEC_AS_VALUE_GET_NUMBER (lval); + cond = (l == r) || (isnan (l) && isnan (r)); + } break; case SWFDEC_AS_TYPE_STRING: cond = SWFDEC_AS_VALUE_GET_STRING (rval) == SWFDEC_AS_VALUE_GET_STRING (lval); diff-tree df33e9b5c1cf59dafab3a0dd3518e825df80e714 (from parents) Merge: 0d9fe11f2441d5fa448c46d5b770dd213566825d abce336a0b32f84a97e5a6621b634833ed78a49c Author: Benjamin Otte <otte at gnome.org> Date: Tue May 29 13:47:19 2007 +0200 Merg...
2007 Apr 05
0
Branch 'as' - 9 commits - configure.ac libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h
...ULL, s, swfdec_as_stack_peek (cx->frame->stack, 1)); + swfdec_as_stack_pop_n (cx->frame->stack, 2); +} + +static const char * +swfdec_as_interpret_eval (SwfdecAsContext *cx, SwfdecAsObject *obj, + SwfdecAsValue *val) +{ + if (SWFDEC_AS_VALUE_IS_STRING (val)) { + const char *s = SWFDEC_AS_VALUE_GET_STRING (val); + if (s != SWFDEC_AS_STR_EMPTY) { + swfdec_as_context_eval (cx, obj, s, val); + return s; + } + } + if (obj != NULL) + SWFDEC_AS_VALUE_SET_OBJECT (val, obj); + else + SWFDEC_AS_VALUE_SET_UNDEFINED (val); + return SWFDEC_AS_STR_EMPTY; +} + +#define CONSTANT_INDEX...
2007 Apr 12
0
Branch 'as' - 14 commits - libswfdec-gtk/swfdec_playback_alsa.c 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 libswfdec/swfdec_as_function.h
...OLEAN (lval) == SWFDEC_AS_VALUE_GET_BOOLEAN (rval); break; - case SWFDEC_TYPE_AS_NUMBER: + case SWFDEC_AS_TYPE_NUMBER: cond = SWFDEC_AS_VALUE_GET_NUMBER (lval) == SWFDEC_AS_VALUE_GET_NUMBER (rval); break; - case SWFDEC_TYPE_AS_STRING: + case SWFDEC_AS_TYPE_STRING: cond = SWFDEC_AS_VALUE_GET_STRING (lval) == SWFDEC_AS_VALUE_GET_STRING (rval); break; - case SWFDEC_TYPE_AS_ASOBJECT: + case SWFDEC_AS_TYPE_OBJECT: cond = SWFDEC_AS_VALUE_GET_OBJECT (lval) == SWFDEC_AS_VALUE_GET_OBJECT (rval); break; default: @@ -1084,9 +1084,9 @@ swfdec_action_equals2 (SwfdecAsContext *...
2007 May 24
0
Branch 'as' - 11 commits - libswfdec/swfdec_as_array.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_native_function.c libswfdec/swfdec_as_number.c libswfdec/swfdec_as_object.c
...? 1 : 0; + return SWFDEC_AS_VALUE_GET_BOOLEAN (&tmp) ? 1 : 0; case SWFDEC_AS_TYPE_NUMBER: - return SWFDEC_AS_VALUE_GET_NUMBER (value); + return SWFDEC_AS_VALUE_GET_NUMBER (&tmp); case SWFDEC_AS_TYPE_STRING: { const char *s; char *end; double d; - s = SWFDEC_AS_VALUE_GET_STRING (value); + s = SWFDEC_AS_VALUE_GET_STRING (&tmp); if (s == SWFDEC_AS_STR_EMPTY) return NAN; d = g_ascii_strtod (s, &end); @@ -257,15 +262,6 @@ swfdec_as_value_to_number (SwfdecAsConte return NAN; } case SWFDEC_AS_TYPE_OBJECT: - { - SwfdecAsValue ret; - swfdec...
2007 Nov 15
0
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
...--- a/libswfdec/swfdec_text_format.c +++ b/libswfdec/swfdec_text_format.c @@ -770,7 +770,7 @@ swfdec_text_format_do_set_tab_stops (SwfdecAsContext *cx, } else if (SWFDEC_AS_VALUE_IS_STRING (&argv[0])) { - size_t i, len; + gsize i, len; SwfdecAsValue val; len = strlen (SWFDEC_AS_VALUE_GET_STRING (&argv[0])); commit 9ec6d5c8a83429c6fec7afc17f601202f71c7c42 Author: Benjamin Otte <otte at gnome.org> Date: Thu Nov 15 13:44:19 2007 +0100 remove unused header diff --git a/test/dump.c b/test/dump.c index 56a270d..38a456d 100644 --- a/test/dump.c +++ b/test/dump.c @@ -23,7 +23...
2007 Jun 28
0
Branch 'as' - 5 commits - libswfdec-gtk/swfdec_playback_alsa.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_movie.c test/trace
...+static void +swfdec_action_remove_sprite (SwfdecAsContext *cx, guint action, const guint8 *data, guint len) +{ + SwfdecAsValue *val = swfdec_as_stack_pop (cx->frame->stack); + SwfdecAsObject *sprite; + SwfdecMovie *movie; + + if (SWFDEC_AS_VALUE_IS_STRING (val)) { + const char *name = SWFDEC_AS_VALUE_GET_STRING (val); + + swfdec_as_context_eval (cx, NULL, name, val); + } + if (SWFDEC_AS_VALUE_IS_OBJECT (val)) { + sprite = SWFDEC_AS_VALUE_GET_OBJECT (val); + } else { + SWFDEC_FIXME ("unknown type in RemoveSprite"); + return; + } + if (!SWFDEC_IS_MOVIE (sprite)) { + SWFDEC_F...
2007 Nov 14
0
7 commits - libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_super.c libswfdec/swfdec_as_super.h
...val = swfdec_as_stack_peek (cx, 1); - /* FIXME: this is a hack for constructors calling super - is this correct? */ - if (SWFDEC_AS_VALUE_IS_UNDEFINED (val)) { - SWFDEC_AS_VALUE_SET_STRING (val, SWFDEC_AS_STR_EMPTY); - } if (obj) { - if (SWFDEC_AS_VALUE_IS_STRING (val) && - SWFDEC_AS_VALUE_GET_STRING (val) == SWFDEC_AS_STR_EMPTY) { + name = swfdec_as_value_to_string (cx, val); + if (SWFDEC_AS_VALUE_IS_UNDEFINED (val) || + name == SWFDEC_AS_STR_EMPTY) { SWFDEC_AS_VALUE_SET_UNDEFINED (swfdec_as_stack_peek (cx, 3)); SWFDEC_AS_VALUE_SET_OBJECT (swfdec_as_stack_peek (cx, 2), o...
2007 Apr 11
0
Branch 'as' - 4 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h
...{ + double d = SWFDEC_AS_VALUE_GET_NUMBER (value); + return d != 0.0 && !isnan (d); + } + case SWFDEC_TYPE_AS_STRING: + if (context->version <= 6) { + double d = swfdec_as_value_to_number (context, value); + return d != 0.0 && !isnan (d); + } else { + return SWFDEC_AS_VALUE_GET_STRING (value) != SWFDEC_AS_STR_EMPTY; + } + case SWFDEC_TYPE_AS_ASOBJECT: + return TRUE; + default: + g_assert_not_reached (); + return FALSE; + } +} + diff --git a/libswfdec/swfdec_as_types.h b/libswfdec/swfdec_as_types.h index dc390cd..10f3a9c 100644 --- a/libswfdec/swfdec...
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
...a hack for constructors calling super - is this correct? */ if (SWFDEC_AS_VALUE_IS_UNDEFINED (val)) { SWFDEC_AS_VALUE_SET_STRING (val, SWFDEC_AS_STR_EMPTY); } if (obj) { + if (SWFDEC_IS_AS_SUPER (obj)) + use_super = TRUE; if (SWFDEC_AS_VALUE_IS_STRING (val) && SWFDEC_AS_VALUE_GET_STRING (val) == SWFDEC_AS_STR_EMPTY) { SWFDEC_AS_VALUE_SET_UNDEFINED (swfdec_as_stack_peek (frame->stack, 3)); @@ -660,7 +675,7 @@ swfdec_action_call_method (SwfdecAsConte SWFDEC_AS_VALUE_SET_UNDEFINED (swfdec_as_stack_peek (frame->stack, 2)); } swfdec_as_stack_pop (frame->st...
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
...fdec/swfdec_as_types.c b/libswfdec/swfdec_as_types.c index 6acb9c3..98d61d7 100644 --- a/libswfdec/swfdec_as_types.c +++ b/libswfdec/swfdec_as_types.c @@ -406,7 +406,7 @@ swfdec_as_value_to_debug (const SwfdecAs switch (value->type) { case SWFDEC_AS_TYPE_STRING: - return g_strdup (SWFDEC_AS_VALUE_GET_STRING (value)); + return g_shell_quote (SWFDEC_AS_VALUE_GET_STRING (value)); case SWFDEC_AS_TYPE_UNDEFINED: return g_strdup ("undefined"); case SWFDEC_AS_TYPE_BOOLEAN: diff-tree 16909175916f11bbe595d84cdec2857f2ebab09d (from 3c395d699a9d90c1205afa243eec1ae810bf7fbb) Aut...
2007 Jun 27
0
Branch 'as' - 6 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_movie_asprops.c libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_sprite.c libswfdec/swfdec_sprite.h libswfdec/swfdec_sprite_movie_as.c
...decAsValue *val) +/* returns: frame to go to or 0 on error */ +static guint +swfdec_value_to_frame (SwfdecAsContext *cx, SwfdecSpriteMovie *movie, SwfdecAsValue *val) { int frame; + if (movie->sprite == NULL) + return 0; if (SWFDEC_AS_VALUE_IS_STRING (val)) { const char *name = SWFDEC_AS_VALUE_GET_STRING (val); double d; - if (!SWFDEC_IS_SPRITE_MOVIE (movie)) - return -1; if (strchr (name, ':')) { SWFDEC_ERROR ("FIXME: handle targets"); } /* treat valid encoded numbers as numbers, otherwise assume it's a frame label */ d = swfdec_as_v...
2007 Aug 17
0
4 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h test/trace
...s[1] = (argc > 3) ? swfdec_as_value_to_integer (cx, &argv[3]) : -1; if (SWFDEC_AS_VALUE_IS_NULL (&argv[1])) { swfdec_as_object_foreach (obj, swfdec_as_context_ASSetPropFlags_foreach, flags); - } else if (SWFDEC_AS_VALUE_IS_STRING (&argv[1])) { - char **split = g_strsplit (SWFDEC_AS_VALUE_GET_STRING (&argv[1]), ",", -1); + } else { + char **split = + g_strsplit (swfdec_as_value_to_string (cx, &argv[1]), ",", -1); guint i; for (i = 0; split[i]; i++) { swfdec_as_context_ASSetPropFlags_set_one_flag (obj, swfdec_as_context_get_string (c...
2008 Jan 15
0
4 commits - libswfdec/swfdec_as_array.c libswfdec/swfdec_as_types.c test/trace
....ff959c3 100644 --- a/libswfdec/swfdec_as_types.c +++ b/libswfdec/swfdec_as_types.c @@ -482,10 +482,19 @@ swfdec_as_value_to_number (SwfdecAsContext *context, const SwfdecAsValue *value) char *end; double d; + // FIXME: We should most likely copy Tamarin's code here (MathUtils.cpp) s = SWFDEC_AS_VALUE_GET_STRING (&tmp); if (s == SWFDEC_AS_STR_EMPTY) return NAN; - d = g_ascii_strtod (s, &end); + if (s[0] == '0' && s[1] == 'x') { + if (context->version <= 5) + return NAN; + d = g_ascii_strtoll (s + 2, &end, 16); + } else { + if (strchr (s, 'x...
2007 Apr 04
0
Branch 'as' - 9 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_stack.c libswfdec/swfdec_as_stack.h
...(val)->type = SWFDEC_TYPE_AS_NUMBER; \ - (val)->value.number = d; \ + SwfdecAsValue *__val = (val); \ + (__val)->type = SWFDEC_TYPE_AS_NUMBER; \ + (__val)->value.number = d; \ } G_STMT_END #define SWFDEC_AS_VALUE_IS_STRING(val) ((val)->type == SWFDEC_TYPE_AS_STRING) #define SWFDEC_AS_VALUE_GET_STRING(val) (g_assert ((val)->type == SWFDEC_TYPE_AS_STRING), (val)->value.string) #define SWFDEC_AS_VALUE_SET_STRING(val,s) G_STMT_START { \ - (val)->type = SWFDEC_TYPE_AS_STRING; \ - (val)->value.string = s; \ + SwfdecAsValue *__val = (val); \ + (__val)->type = SWFDEC_TYPE_AS_STRI...
2007 May 22
0
Branch 'as' - 9 commits - libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_function.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_native_function.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_script_function.c
...wfdec_as_interpret.c @@ -659,11 +659,12 @@ swfdec_action_call_method (SwfdecAsConte SWFDEC_AS_VALUE_SET_STRING (val, SWFDEC_AS_STR_EMPTY); } if (obj) { - SWFDEC_AS_VALUE_SET_OBJECT (swfdec_as_stack_peek (frame->stack, 3), obj); if (SWFDEC_AS_VALUE_IS_STRING (val) && SWFDEC_AS_VALUE_GET_STRING (val) == SWFDEC_AS_STR_EMPTY) { + SWFDEC_AS_VALUE_SET_UNDEFINED (swfdec_as_stack_peek (frame->stack, 3)); SWFDEC_AS_VALUE_SET_OBJECT (swfdec_as_stack_peek (frame->stack, 2), obj); } else { + SWFDEC_AS_VALUE_SET_OBJECT (swfdec_as_stack_peek (frame->stack, 3), obj);...
2007 Mar 28
0
Branch 'as' - 3 commits - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_as_types.c
..._STRING); - g_return_val_if_fail (SWFDEC_AS_IS_VALUE (value), SWFDEC_AS_EMPTY_STRING); + g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), SWFDEC_AS_STR_EMPTY); + g_return_val_if_fail (SWFDEC_IS_AS_VALUE (value), SWFDEC_AS_STR_EMPTY); if (SWFDEC_AS_VALUE_IS_STRING (value)) { return SWFDEC_AS_VALUE_GET_STRING (value); diff --git a/libswfdec/swfdec_as_types.h b/libswfdec/swfdec_as_types.h index f171341..6fe9fbc 100644 --- a/libswfdec/swfdec_as_types.h +++ b/libswfdec/swfdec_as_types.h @@ -35,6 +35,7 @@ G_BEGIN_DECLS typedef guint8 SwfdecAsType; typedef struct _SwfdecAsContext SwfdecAsContext; +typ...