search for: swfdec_type_as_undefin

Displaying 9 results from an estimated 9 matches for "swfdec_type_as_undefin".

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
...r/swfdec_debug_stack.c b/player/swfdec_debug_stack.c index cd42487..591d53c 100644 --- a/player/swfdec_debug_stack.c +++ b/player/swfdec_debug_stack.c @@ -39,17 +39,17 @@ static const char * swfdec_get_value_type (SwfdecAsContext *cx, SwfdecAsValue *value) { switch (value->type) { - case SWFDEC_TYPE_AS_UNDEFINED: + case SWFDEC_AS_TYPE_UNDEFINED: return "undefined"; - case SWFDEC_TYPE_AS_NULL: + case SWFDEC_AS_TYPE_NULL: return "null"; - case SWFDEC_TYPE_AS_NUMBER: + case SWFDEC_AS_TYPE_NUMBER: return "Number"; - case SWFDEC_TYPE_AS_BOOL...
2007 Apr 11
0
Branch 'as' - 4 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h
..._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_UNDEFINED: case SWFDEC_TYPE_AS_NULL: @@ -244,3 +247,46 @@ swfdec_as_value_to_object (SwfdecAsConte } } +/** + * swfdec_as_value_to_boolean: + * @context: a #SwfdecAsContext + * @value: value to convert + * + * Converts the given value to a boolean according to Flash's rules. Note that + * th...
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
...alue *rval, *lval; + SwfdecAsType ltype, rtype; + gboolean cond; + + rval = swfdec_as_stack_peek (cx->frame->stack, 1); + lval = swfdec_as_stack_peek (cx->frame->stack, 2); + ltype = lval->type; + rtype = rval->type; + if (ltype == rtype) { + switch (ltype) { + case SWFDEC_TYPE_AS_UNDEFINED: + case SWFDEC_TYPE_AS_NULL: + cond = TRUE; + break; + case SWFDEC_TYPE_AS_BOOLEAN: + cond = SWFDEC_AS_VALUE_GET_BOOLEAN (lval) == SWFDEC_AS_VALUE_GET_BOOLEAN (rval); + break; + case SWFDEC_TYPE_AS_NUMBER: + cond = SWFDEC_AS_VALUE_GET_NUMBER (lval) == SWFDEC_AS_VALUE_GET_NUMBER (rv...
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
...ext->frame = context->frame->next; swfdec_as_stack_ensure_left (context->frame->stack, 1); if (retval) { - swfdec_as_stack_push (context->frame->stack, retval); + *swfdec_as_stack_push (context->frame->stack) = *retval; } else { - SwfdecAsValue value = { SWFDEC_TYPE_AS_UNDEFINED, }; - swfdec_as_stack_push (context->frame->stack, &value); + SWFDEC_AS_VALUE_SET_UNDEFINED (swfdec_as_stack_push (context->frame->stack)); } } diff --git a/libswfdec/swfdec_as_function.c b/libswfdec/swfdec_as_function.c index 68e98c5..29ef86e 100644 --- a/libswfdec/sw...
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
...ue SwfdecAsValue; @@ -48,7 +49,7 @@ struct _SwfdecAsValue { } value; }; -#define SWFDEC_AS_IS_VALUE(val) ((val)->type <= SWFDEC_TYPE_AS_OBJECT) +#define SWFDEC_IS_AS_VALUE(val) ((val)->type <= SWFDEC_TYPE_AS_OBJECT) #define SWFDEC_AS_VALUE_IS_UNDEFINED(val) ((val)->type == SWFDEC_TYPE_AS_UNDEFINED) #define SWFDEC_AS_VALUE_SET_UNDEFINED(val) (val)->type = SWFDEC_TYPE_AS_UNDEFINED @@ -87,8 +88,9 @@ struct _SwfdecAsValue { /* List of static strings that are required all the time */ extern const char *swfdec_as_strings[]; -#define SWFDEC_AS_EMPTY_STRING (swfdec_as_strings[0] + 1) -#def...
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
...return SWFDEC_AS_STR_EMPTY; } } + +double +swfdec_as_value_to_number (SwfdecAsContext *context, const SwfdecAsValue *value) +{ + g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), 0.0); + g_return_val_if_fail (SWFDEC_IS_AS_VALUE (value), 0.0); + + switch (value->type) { + case SWFDEC_TYPE_AS_UNDEFINED: + case SWFDEC_TYPE_AS_NULL: + return (context->version >= 7) ? NAN : 0.0; + case SWFDEC_TYPE_AS_BOOLEAN: + return SWFDEC_AS_VALUE_GET_BOOLEAN (value) ? 1 : 0; + case SWFDEC_TYPE_AS_NUMBER: + return SWFDEC_AS_VALUE_GET_NUMBER (value); + case SWFDEC_TYPE_AS_STRING:...
2007 Mar 29
0
Branch 'as' - 9 commits - configure.ac doc/swfdec-sections.txt 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_stack.c
...n_if_fail (retval == NULL || SWFDEC_IS_AS_VALUE (retval)); + + context->frame = context->frame->next; + swfdec_as_stack_ensure_left (context->frame->stack, 1); + if (retval) { + swfdec_as_stack_push (context->frame->stack, retval); + } else { + SwfdecAsValue value = { SWFDEC_TYPE_AS_UNDEFINED, }; + swfdec_as_stack_push (context->frame->stack, &value); + } +} diff --git a/libswfdec/swfdec_as_context.h b/libswfdec/swfdec_as_context.h index 67e7ec2..420df04 100644 --- a/libswfdec/swfdec_as_context.h +++ b/libswfdec/swfdec_as_context.h @@ -82,6 +82,8 @@ void swfdec_as_value...
2007 Mar 29
0
Branch 'as' - 9 commits - libswfdec-gtk/swfdec_playback_alsa.c libswfdec/js 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_function.c
...else { + n_args = 0; + } + /* now do different things depending on if we're a native function or not */ + if (function->native) { + if (n_args < function->min_args) { + SwfdecAsStack *stack = context->frame->stack; + if (n_args == 0) { + SwfdecAsValue value = { SWFDEC_TYPE_AS_UNDEFINED, }; + swfdec_as_stack_ensure_size (stack, 1); + swfdec_as_stack_push (stack, &value); + } else { + stack->cur -= (n_args - 1); + SWFDEC_AS_VALUE_SET_UNDEFINED (swfdec_as_stack_peek (stack, 1)); + } + return; + } + g_assert_not_reached (); + } else { + SwfdecAsFrame...
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
..._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); + switch (value->type) { + case SWFDEC_TYPE_AS_STRING: + return SWFDEC_AS_VALUE_GET_STRING (value); + case SWFDEC_TYPE_AS_UNDEFINED: + if (context->version > 6) + return SWFDEC_AS_STR_UNDEFINED; + else + return SWFDEC_AS_STR_EMPTY; + case SWFDEC_TYPE_AS_BOOLEAN: + return SWFDEC_AS_VALUE_GET_BOOLEAN (value) ? SWFDEC_AS_STR_TRUE : SWFDEC_AS_STR_FALSE; + case SWFDEC_TYPE_AS_NULL: + return SWFDEC_A...