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...