Displaying 20 results from an estimated 63 matches for "swfdec_as_value_to_integer".
2007 Jun 12
0
Branch 'as' - 3 commits - libswfdec/swfdec_as_array.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_math.c libswfdec/swfdec_as_native_function.c libswfdec/swfdec_as_number.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_string.c
...pFlags needs some limiteations for Flash 5");
+ if (cx->version < 6) {
+ SWFDEC_FIXME ("ASSetPropFlags needs some limitations for Flash 5");
}
if (!SWFDEC_AS_VALUE_IS_OBJECT (&argv[0]))
return;
obj = SWFDEC_AS_VALUE_GET_OBJECT (&argv[0]);
- flags[0] = swfdec_as_value_to_integer (object->context, &argv[2]);
+ flags[0] = swfdec_as_value_to_integer (cx, &argv[2]);
/* be sure to not delete the NATIVE flag */
flags[0] &= 7;
- flags[1] = (argc > 3) ? swfdec_as_value_to_integer (object->context, &argv[3]) : -1;
+ flags[1] = (argc > 3) ? swfde...
2007 Sep 02
0
libswfdec/swfdec_as_array.c libswfdec/swfdec_as_string.c
.../libswfdec/swfdec_as_string.c
+++ b/libswfdec/swfdec_as_string.c
@@ -99,6 +99,9 @@ swfdec_as_string_lastIndexOf (SwfdecAsCo
gsize len;
const char *s;
+ if (argc < 1)
+ return;
+
s = swfdec_as_value_to_string (object->context, &argv[0]);
if (argc == 2) {
int offset = swfdec_as_value_to_integer (object->context, &argv[1]);
@@ -127,6 +130,9 @@ swfdec_as_string_indexOf (SwfdecAsContex
int offset=0, len, i=-1;
const char *s, *t = NULL;
+ if (argc < 1)
+ return;
+
s = swfdec_as_value_to_string (object->context, &argv[0]);
if (argc == 2)
offset = swfdec_...
2007 Sep 04
0
5 commits - doc/Makefile.am doc/swfdec-sections.txt libswfdec/swfdec_as_array.c libswfdec/swfdec_as_boolean.c libswfdec/swfdec_asbroadcaster.c libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_native_function.c libswfdec/swfdec_as_native_function.h
...ue *val = va_arg (varargs, SwfdecAsValue *);
+ *val = argv[i];
+ }
+ break;
+ case 'b':
+ {
+ gboolean *b = va_arg (varargs, gboolean *);
+ *b = swfdec_as_value_to_boolean (cx, &argv[i]);
+ }
+ break;
+ case 'i':
+ {
+ int *j = va_arg (varargs, int *);
+ *j = swfdec_as_value_to_integer (cx, &argv[i]);
+ }
+ break;
+ case 'n':
+ {
+ double *d = va_arg (varargs, double *);
+ *d = swfdec_as_value_to_number (cx, &argv[i]);
+ }
+ break;
+ case 's':
+ {
+ const char **s = va_arg (varargs, const char **);
+ *s = swfdec_as_value_to_string (cx, &a...
2007 Aug 24
0
7 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.h libswfdec/swfdec_as_string.c test/trace
...fdec_as_string_substr (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- const char *string = swfdec_as_object_to_string (cx, object);
+ const char *string = swfdec_as_string_object_to_string (cx, object);
int from, to, len;
from = swfdec_as_value_to_integer (cx, &argv[0]);
@@ -471,7 +484,7 @@ void
swfdec_as_string_substring (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- const char *string = swfdec_as_object_to_string (cx, object);
+ const char *string = swfdec_as_string_object_to_str...
2007 Nov 14
0
9 commits - libswfdec/swfdec_as_string.c libswfdec/swfdec_color_as.c libswfdec/swfdec_interval.c test/image test/trace
...c7..2fad7cf 100644
--- a/libswfdec/swfdec_as_string.c
+++ b/libswfdec/swfdec_as_string.c
@@ -223,18 +223,23 @@ swfdec_as_string_fromCharCode_5 (SwfdecAsContext *cx, SwfdecAsObject *object,
char *s;
GByteArray *array = g_byte_array_new ();
- for (i = 0; i < argc; i++) {
- c = ((guint) swfdec_as_value_to_integer (cx, &argv[i])) % 65536;
- if (c > 255) {
- append = c / 256;
+ if (argc > 0) {
+ for (i = 0; i < argc; i++) {
+ c = ((guint) swfdec_as_value_to_integer (cx, &argv[i])) % 65536;
+ if (c > 255) {
+ append = c / 256;
+ g_byte_array_append (array, &append,...
2007 Oct 14
0
4 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_sound.c test/trace
...;
if (movie) {
*object = movie;
return TRUE;
@@ -694,58 +705,59 @@ extern struct {
static void
swfdec_action_get_property (SwfdecAsContext *cx, guint action, const guint8 *data, guint len)
{
- SwfdecAsValue *val;
- SwfdecAsObject *obj;
+ SwfdecMovie *movie;
guint id;
- id = swfdec_as_value_to_integer (cx, swfdec_as_stack_pop (cx));
- if (id > (cx->version > 4 ? 21 : 18)) {
- SWFDEC_WARNING ("trying to SetProperty %u, not allowed", id);
- goto out;
- }
- val = swfdec_as_stack_peek (cx, 1);
- swfdec_as_interpret_eval (cx, NULL, val);
- if (SWFDEC_AS_VALUE_IS_UNDEFINE...
2007 Jun 28
0
Branch 'as' - 2 commits - doc/swfdec-sections.txt libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h
...index 30ac93b..4d93f11 100644
--- a/doc/swfdec-sections.txt
+++ b/doc/swfdec-sections.txt
@@ -184,10 +184,31 @@ SWFDEC_TYPE_GTK_LOADER
<TITLE>SwfdecAsValue</TITLE>
SwfdecAsValueType
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_OBJE...
2007 Jun 01
0
Branch 'as' - 2 commits - libswfdec/Makefile.am libswfdec/swfdec_as_strings.c libswfdec/swfdec_as_types.c libswfdec/swfdec_interval.c libswfdec/swfdec_interval.h libswfdec/swfdec_player_as.c libswfdec/swfdec_player.c
..._FunctionClass) {
- fun = argv[0];
- object = JS_GetParent (cx, object);
- if (object == NULL) {
- SWFDEC_WARNING ("function has no parent?!");
- return JS_TRUE;
+ object = SWFDEC_AS_VALUE_GET_OBJECT (&argv[0]);
+ if (SWFDEC_IS_AS_FUNCTION (object)) {
+ msecs = swfdec_as_value_to_integer (obj->context, &argv[1]);
+ if (msecs < MIN_INTERVAL_TIME) {
+ SWFDEC_INFO ("interval duration is %u, making it %u msecs", msecs, MIN_INTERVAL_TIME);
+ msecs = MIN_INTERVAL_TIME;
}
- first_arg = 2;
+ id = swfdec_interval_new_function (player, msecs, TRUE,...
2007 Jul 26
0
5 commits - doc/Makefile.am doc/swfdec-sections.txt libswfdec/Makefile.am libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_initialize.as libswfdec/swfdec_initialize.h libswfdec/swfdec_player_as.c
...cx, native_funcs[i].name,
+ native_funcs[i].func, 0);
+ }
+ }
+ return NULL;
+}
+
static void
swfdec_player_ASnative (SwfdecAsContext *cx, SwfdecAsObject *obj,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *rval)
{
- guint i, x, y;
+ SwfdecAsFunction *func;
+ guint x, y;
x = swfdec_as_value_to_integer (cx, &argv[0]);
y = swfdec_as_value_to_integer (cx, &argv[1]);
- for (i = 0; native_funcs[i].func != NULL; i++) {
- if (native_funcs[i].x == x && native_funcs[i].y == y) {
- SwfdecAsFunction *func = swfdec_as_native_function_new (cx, native_funcs[i].name,
- native_fu...
2007 Aug 20
0
3 commits - libswfdec/swfdec_as_context.c test/trace
...gs[0])
+ if (cur_flags == ((cur_flags &~ flags[1]) | flags[0]))
return TRUE;
swfdec_as_context_ASSetPropFlags_set_one_flag (object, s, flags);
@@ -1039,7 +1039,7 @@ swfdec_as_context_ASSetPropFlags (Swfdec
return;
obj = SWFDEC_AS_VALUE_GET_OBJECT (&argv[0]);
flags[0] = swfdec_as_value_to_integer (cx, &argv[2]);
- flags[1] = (argc > 3) ? swfdec_as_value_to_integer (cx, &argv[3]) : -1;
+ flags[1] = (argc > 3) ? swfdec_as_value_to_integer (cx, &argv[3]) : 0;
if (SWFDEC_AS_VALUE_IS_NULL (&argv[1])) {
swfdec_as_object_foreach (obj, swfdec_as_context_ASSetPropFlag...
2007 Aug 17
0
2 commits - libswfdec/swfdec_as_array.c test/trace
..._as_array_get_length (SwfdecAsObject *object)
+swfdec_as_array_get_length_as_integer (SwfdecAsObject *object)
{
SwfdecAsValue val;
gint32 length;
@@ -83,6 +84,16 @@ swfdec_as_array_get_length (SwfdecAsObje
swfdec_as_object_get_variable (object, SWFDEC_AS_STR_length, &val);
length = swfdec_as_value_to_integer (object->context, &val);
+ return length;
+}
+
+static gint32
+swfdec_as_array_get_length (SwfdecAsObject *object)
+{
+ gint32 length;
+
+ length = swfdec_as_array_get_length_as_integer (object);
+
if (length < 0)
return 0;
@@ -105,7 +116,8 @@ typedef struct {
gint32 num...
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
...obj);
+ else
+ SWFDEC_AS_VALUE_SET_UNDEFINED (val);
+ return SWFDEC_AS_STR_EMPTY;
+}
+
+#define CONSTANT_INDEX 39
+static void
+swfdec_action_get_property (SwfdecAsContext *cx, guint action, const guint8 *data, guint len)
+{
+ SwfdecAsValue *val;
+ SwfdecAsObject *obj;
+ guint id;
+
+ id = swfdec_as_value_to_integer (cx, swfdec_as_stack_pop (cx->frame->stack));
+ if (id > (cx->version > 4 ? 21 : 18)) {
+ SWFDEC_WARNING ("trying to SetProperty %u, not allowed", id);
+ goto out;
+ }
+ val = swfdec_as_stack_peek (cx->frame->stack, 1);
+ swfdec_as_interpret_eval (cx, NULL,...
2007 Apr 11
0
Branch 'as' - 4 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h
...te <otte@gnome.org>
Date: Wed Apr 11 21:09:20 2007 +0200
new function swfdec_as_value_to_boolean
diff --git a/libswfdec/swfdec_as_types.c b/libswfdec/swfdec_as_types.c
index 2446681..ee8c403 100644
--- a/libswfdec/swfdec_as_types.c
+++ b/libswfdec/swfdec_as_types.c
@@ -227,6 +227,9 @@ swfdec_as_value_to_integer (SwfdecAsCont
SwfdecAsObject *
swfdec_as_value_to_object (SwfdecAsContext *context, const SwfdecAsValue *value)
{
+ g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), NULL);
+ g_return_val_if_fail (SWFDEC_IS_AS_VALUE (value), NULL);
+
switch (value->type) {
case SWFDEC_TYPE_AS_UN...
2007 Aug 31
0
4 commits - libswfdec/swfdec_as_number.c libswfdec/swfdec_as_strings.c libswfdec/swfdec_player_as.c test/trace
...sContext *cx
return NULL;
}
+// same as ASnative, but also sets prototype
+static void
+swfdec_player_ASconstructor (SwfdecAsContext *cx, SwfdecAsObject *obj,
+ guint argc, SwfdecAsValue *argv, SwfdecAsValue *rval)
+{
+ SwfdecAsValue val;
+ SwfdecAsFunction *func;
+ guint x, y;
+
+ x = swfdec_as_value_to_integer (cx, &argv[0]);
+ y = swfdec_as_value_to_integer (cx, &argv[1]);
+
+ func = swfdec_get_asnative (cx, x, y);
+ if (func) {
+ SWFDEC_AS_VALUE_SET_OBJECT (&val, swfdec_as_object_new (cx));
+ swfdec_as_object_set_variable_and_flags (SWFDEC_AS_OBJECT (func),
+ SWFDEC_AS_STR_prototyp...
2007 Oct 22
0
5 commits - libswfdec/swfdec_html_parser.c libswfdec/swfdec_text_field_movie_as.c libswfdec/swfdec_text_field_movie.c test/trace
...as.c b/libswfdec/swfdec_text_field_movie_as.c
index 48057e8..bef2ca6 100644
--- a/libswfdec/swfdec_text_field_movie_as.c
+++ b/libswfdec/swfdec_text_field_movie_as.c
@@ -942,15 +942,16 @@ swfdec_text_field_movie_setTextFormat (SwfdecAsContext *cx,
i = 0;
if (argc >= 2) {
start_index = swfdec_as_value_to_integer (cx, &argv[i++]);
- start_index = CLAMP (start_index, 0, (int)text->input->len);
+ start_index = CLAMP (start_index, 0, g_utf8_strlen (text->input->str, -1));
} else {
start_index = 0;
}
if (argc >= 3) {
end_index = swfdec_as_value_to_integer (cx, &ar...
2007 Jul 27
0
libswfdec/swfdec_asbroadcaster.c
...(&val) ||
- !SWFDEC_IS_AS_ARRAY (listeners = SWFDEC_AS_VALUE_GET_OBJECT (&val)))
+ if (!SWFDEC_AS_VALUE_IS_OBJECT (&val))
return;
+ listeners = SWFDEC_AS_VALUE_GET_OBJECT (&val);
swfdec_as_object_get_variable (listeners, SWFDEC_AS_STR_length, &val);
length = swfdec_as_value_to_integer (cx, &val);
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
...} else {
+ SWFDEC_AS_VALUE_SET_INT (val, uni[0]);
+ g_free (uni);
+ }
}
}
static void
swfdec_action_ascii_to_char (SwfdecAsContext *cx, guint action, const guint8 *data, guint len)
{
- char *s;
SwfdecAsValue *val = swfdec_as_stack_peek (cx, 1);
- gunichar c = ((guint) swfdec_as_value_to_integer (cx, val)) % 65536;
- s = g_ucs4_to_utf8 (&c, 1, NULL, NULL, NULL);
- if (s == NULL) {
- g_warning ("conversion of character %u failed", (guint) c);
- SWFDEC_AS_VALUE_SET_STRING (val, SWFDEC_AS_STR_EMPTY);
- } else {
- SWFDEC_AS_VALUE_SET_STRING (val, swfdec_as_context_g...
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
..._as_array_get_length (SwfdecAsObject *object)
+swfdec_as_array_get_length_as_integer (SwfdecAsObject *object)
{
SwfdecAsValue val;
gint32 length;
@@ -83,6 +84,16 @@ swfdec_as_array_get_length (SwfdecAsObje
swfdec_as_object_get_variable (object, SWFDEC_AS_STR_length, &val);
length = swfdec_as_value_to_integer (object->context, &val);
+ return length;
+}
+
+static gint32
+swfdec_as_array_get_length (SwfdecAsObject *object)
+{
+ gint32 length;
+
+ length = swfdec_as_array_get_length_as_integer (object);
+
if (length < 0)
return 0;
@@ -105,7 +116,8 @@ typedef struct {
gint32 num...
2007 Jun 17
2
Branch 'as' - libswfdec/swfdec_as_interpret.c
libswfdec/swfdec_as_interpret.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletion(-)
New commits:
diff-tree 38fbc1389267e593b44041018cbb1750bdcce0fb (from aaca94203d8a0ccb8feb32c0d57df3401fca0350)
Author: Benjamin Otte <otte at gnome.org>
Date: Sun Jun 17 14:19:45 2007 +0200
actually convert the values to a string when comparing strings
diff --git
2007 Jun 20
1
Branch 'as' - 2 commits - libswfdec/swfdec_as_interpret.c
libswfdec/swfdec_as_interpret.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
New commits:
diff-tree 9c5cb7cb9f6278896bc8a1e7cd7fb541b079c8de (from 1e19719b58b5cfcb800c81a5f5432c3ad662dbbc)
Author: Benjamin Otte <otte at gnome.org>
Date: Wed Jun 20 20:58:52 2007 +0200
the modulo arguments were mixed
diff --git a/libswfdec/swfdec_as_interpret.c