Displaying 10 results from an estimated 10 matches for "swfdec_action_old_compare".
2007 Apr 16
0
Branch 'as' - 3 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h
...c/swfdec_as_interpret.c
index dfcefb1..7ea1f82 100644
--- a/libswfdec/swfdec_as_interpret.c
+++ b/libswfdec/swfdec_as_interpret.c
@@ -1016,18 +1016,14 @@ swfdec_action_random_number (SwfdecAsCon
SWFDEC_AS_VALUE_SET_NUMBER (val, g_rand_int_range (cx->rand, 0, max));
}
-#if 0
static void
swfdec_action_old_compare (SwfdecAsContext *cx, guint action, const guint8 *data, guint len)
{
- jsval rval, lval;
double l, r;
- void cond;
+ gboolean cond;
- rval = cx->fp->sp[-1];
- lval = cx->fp->sp[-2];
- l = swfdec_value_to_number (cx, lval);
- r = swfdec_value_to_number (cx, rval);
+ l = swf...
2007 Jan 31
0
Branch 'interpreter' - 3 commits - libswfdec/js libswfdec/swfdec_script.c
...dec_script.c b/libswfdec/swfdec_script.c
index 7c24b10..9b3a328 100644
--- a/libswfdec/swfdec_script.c
+++ b/libswfdec/swfdec_script.c
@@ -1019,7 +1019,7 @@ swfdec_action_random_number (JSContext *
}
static JSBool
-swfdec_action_less (JSContext *cx, guint action, const guint8 *data, guint len)
+swfdec_action_old_compare (JSContext *cx, guint action, const guint8 *data, guint len)
{
jsval rval, lval;
double l, r;
@@ -1029,7 +1029,17 @@ swfdec_action_less (JSContext *cx, guint
lval = cx->fp->sp[-2];
l = swfdec_action_to_number (cx, lval);
r = swfdec_action_to_number (cx, rval);
- cond = l <...
2007 Apr 11
0
Branch 'as' - 4 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h
...0) ? (l && r) : (l || r));
}
/*** PRINT FUNCTIONS ***/
+#if 0
static char *
swfdec_action_print_store_register (guint action, const guint8 *data, guint len)
{
@@ -2168,9 +2151,9 @@ const SwfdecActionSpec swfdec_as_actions
#if 0
[0x0e] = { "Equals", NULL, 2, 1, { NULL, swfdec_action_old_compare, swfdec_action_old_compare, swfdec_action_old_compare, swfdec_action_old_compare } },
[0x0f] = { "Less", NULL, 2, 1, { NULL, swfdec_action_old_compare, swfdec_action_old_compare, swfdec_action_old_compare, swfdec_action_old_compare } },
- [0x10] = { "And", NULL, 2, 1, { NULL...
2007 Nov 07
0
14 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_interpret.h libswfdec/swfdec_net_stream.c libswfdec/swfdec_script.c libswfdec/swfdec_sprite_movie.c libswfdec/swfdec_tag.c libswfdec/swfdec_text_field_movie.c
...ec_as_context_get_string (cx, s));
+ g_free (s);
+ }
}
}
@@ -3125,9 +3115,9 @@ const SwfdecActionSpec swfdec_as_actions[256] = {
[SWFDEC_AS_ACTION_DIVIDE] = { "Divide", NULL, 2, 1, swfdec_action_binary, 4 },
[SWFDEC_AS_ACTION_EQUALS] = { "Equals", NULL, 2, 1, swfdec_action_old_compare, 4 },
[SWFDEC_AS_ACTION_LESS] = { "Less", NULL, 2, 1, swfdec_action_old_compare, 4 },
- [SWFDEC_AS_ACTION_AND] = { "And", NULL, 2, 1, { NULL, /* FIXME */NULL, swfdec_action_logical, swfdec_action_logical, swfdec_action_logical } },
- [SWFDEC_AS_ACTION_OR] = { "Or"...
2007 Apr 04
0
Branch 'as' - 4 commits - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_interpret.h libswfdec/swfdec_as_object.c libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h
...n)
+{
+ gint32 max, result;
+
+ if (!JS_ValueToECMAInt32 (cx, cx->fp->sp[-1], &max))
+ return JS_FALSE;
+
+ if (max <= 0)
+ result = 0;
+ else
+ result = g_random_int_range (0, max);
+
+ return JS_NewNumberValue(cx, result, &cx->fp->sp[-1]);
+}
+
+static void
+swfdec_action_old_compare (SwfdecAsContext *cx, guint action, const guint8 *data, guint len)
+{
+ jsval rval, lval;
+ double l, r;
+ void cond;
+
+ rval = cx->fp->sp[-1];
+ lval = cx->fp->sp[-2];
+ l = swfdec_value_to_number (cx, lval);
+ r = swfdec_value_to_number (cx, rval);
+ switch (action) {
+ ca...
2007 Mar 12
0
11 commits - libswfdec/js libswfdec/swfdec_loader.c libswfdec/swfdec_root_sprite.c libswfdec/swfdec_script.c player/swfdebug.c player/swfdec_player_manager.c test/trace
...RINT FUNCTIONS ***/
static char *
@@ -2321,8 +2446,8 @@ static const SwfdecActionSpec actions[25
[0x0d] = { "Divide", NULL, 2, 1, { NULL, swfdec_action_binary, swfdec_action_binary, swfdec_action_binary, swfdec_action_binary } },
[0x0e] = { "Equals", NULL, 2, 1, { NULL, swfdec_action_old_compare, swfdec_action_old_compare, swfdec_action_old_compare, swfdec_action_old_compare } },
[0x0f] = { "Less", NULL, 2, 1, { NULL, swfdec_action_old_compare, swfdec_action_old_compare, swfdec_action_old_compare, swfdec_action_old_compare } },
- [0x10] = { "And", NULL },
- [0x11]...
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
...(max <= 0)
- result = 0;
+ SWFDEC_AS_VALUE_SET_NUMBER (val, 0);
else
- result = g_random_int_range (0, max);
-
- return JS_NewNumberValue(cx, result, &cx->fp->sp[-1]);
+ SWFDEC_AS_VALUE_SET_NUMBER (val, g_rand_int_range (cx->rand, 0, max));
}
+#if 0
static void
swfdec_action_old_compare (SwfdecAsContext *cx, guint action, const guint8 *data, guint len)
{
@@ -2159,8 +2158,10 @@ const SwfdecActionSpec swfdec_as_actions
[0x2a] = { "Throw", NULL },
[0x2b] = { "Cast", NULL },
[0x2c] = { "Implements", NULL },
+#endif
/* version 4 */
[0x30] =...
2007 Mar 05
0
11 commits - configure.ac libswfdec/swfdec_js_movie.c libswfdec/swfdec_root_movie.c libswfdec/swfdec_root_movie.h libswfdec/swfdec_script.c libswfdec/swfdec_sprite.c libswfdec/swfdec_sprite.h libswfdec/swfdec_sprite_movie.c libswfdec/swfdec_swf_decoder.c
...;
}
@@ -1085,7 +1085,7 @@ swfdec_action_increment (JSContext *cx,
{
double d;
- d = swfdec_action_to_number (cx, cx->fp->sp[-1]);
+ d = swfdec_value_to_number (cx, cx->fp->sp[-1]);
d++;
return JS_NewNumberValue (cx, d, &cx->fp->sp[-1]);
}
@@ -1199,8 +1199,8 @@ swfdec_action_old_compare (JSContext *cx
rval = cx->fp->sp[-1];
lval = cx->fp->sp[-2];
- l = swfdec_action_to_number (cx, lval);
- r = swfdec_action_to_number (cx, rval);
+ l = swfdec_value_to_number (cx, lval);
+ r = swfdec_value_to_number (cx, rval);
switch (action) {
case 0x0e:
cond...
2007 Feb 06
0
109 commits - configure.ac libswfdec/js libswfdec/Makefile.am libswfdec/swfdec_bits.c libswfdec/swfdec_bits.h libswfdec/swfdec_buffer.c libswfdec/swfdec_button_movie.c libswfdec/swfdec_codec_screen.c libswfdec/swfdec_color.c libswfdec/swfdec_color.h
...dec_script.c b/libswfdec/swfdec_script.c
index 7c24b10..9b3a328 100644
--- a/libswfdec/swfdec_script.c
+++ b/libswfdec/swfdec_script.c
@@ -1019,7 +1019,7 @@ swfdec_action_random_number (JSContext *
}
static JSBool
-swfdec_action_less (JSContext *cx, guint action, const guint8 *data, guint len)
+swfdec_action_old_compare (JSContext *cx, guint action, const guint8 *data, guint len)
{
jsval rval, lval;
double l, r;
@@ -1029,7 +1029,17 @@ swfdec_action_less (JSContext *cx, guint
lval = cx->fp->sp[-2];
l = swfdec_action_to_number (cx, lval);
r = swfdec_action_to_number (cx, rval);
- cond = l <...
2007 Jul 02
0
Branch 'as' - 4 commits - libswfdec/swfdec_as_interpret.c test/trace
...s at fatal.se>
Date: Mon Jul 2 13:39:54 2007 +0100
implement StringLength bytecode
diff --git a/libswfdec/swfdec_as_interpret.c b/libswfdec/swfdec_as_interpret.c
index 71790c1..7c9025d 100644
--- a/libswfdec/swfdec_as_interpret.c
+++ b/libswfdec/swfdec_as_interpret.c
@@ -982,6 +982,17 @@ swfdec_action_old_compare (SwfdecAsConte
}
static void
+swfdec_action_string_length (SwfdecAsContext *cx, guint action, const guint8 *data, guint len)
+{
+ const char *s;
+ SwfdecAsValue *v;
+
+ v = swfdec_as_stack_peek (cx->frame->stack, 1);
+ s = swfdec_as_value_to_string (cx, v);
+ SWFDEC_AS_VALUE_SET_INT...