Displaying 16 results from an estimated 16 matches for "g_utf8_strlen".
2007 Oct 31
0
2 commits - libswfdec/swfdec_sound.c libswfdec/swfdec_text_field_movie_as.c libswfdec/swfdec_text_field_movie.c libswfdec/swfdec_text_field_movie_html.c
....c
@@ -1033,7 +1033,7 @@ swfdec_text_field_movie_set_text_format (SwfdecTextFieldMovie *text,
   g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
   g_return_if_fail (SWFDEC_IS_TEXT_FORMAT (format));
   g_return_if_fail (start_index < end_index);
-  g_return_if_fail (end_index <= (guint) g_utf8_strlen (text->input->str, -1));
+  g_return_if_fail (end_index <= text->input->len);
 
   g_assert (text->formats != NULL);
   g_assert (text->formats->data != NULL);
@@ -1051,7 +1051,7 @@ swfdec_text_field_movie_set_text_format (SwfdecTextFieldMovie *text,
       findex_end_index...
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
...+63,8 @@ swfdec_text_field_movie_html_parse_close_tag (ParserData *data, ParserTag *tag)
 	ParserTag *n = g_new0 (ParserTag, 1);
 	n->name = f->name;
 	n->name_length = f->name_length;
-	n->index = data->text->len;
-	n->end_index = data->text->len + 1;
+	n->index = g_utf8_strlen (data->text->str, -1);
+	n->end_index = n->index + 1;
 	n->format = swfdec_text_format_copy (f->format);
 	data->tags_closed = g_slist_prepend (data->tags_closed, n);
 	break;
@@ -73,7 +73,7 @@ swfdec_text_field_movie_html_parse_close_tag (ParserData *data, ParserTag *tag)...
2007 Oct 25
0
6 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_event.c libswfdec/swfdec_event.h libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_player.c libswfdec/swfdec_player_internal.h libswfdec/swfdec_resource.c
...ld_movie.c
@@ -1030,7 +1030,7 @@ swfdec_text_field_movie_set_text_format (SwfdecTextFieldMovie *text,
   g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
   g_return_if_fail (SWFDEC_IS_TEXT_FORMAT (format));
   g_return_if_fail (start_index < end_index);
-  g_return_if_fail (end_index <= g_utf8_strlen (text->input->str, -1));
+  g_return_if_fail (end_index <= (guint) g_utf8_strlen (text->input->str, -1));
 
   g_assert (text->formats != NULL);
   g_assert (text->formats->data != NULL);
@@ -1110,7 +1110,7 @@ swfdec_text_field_movie_get_text_format (SwfdecTextFieldMovie *te...
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
...ec_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_string (cx, object);
   int from, to, len;
 
   len = g_utf8_strlen (string, -1);
@@ -500,7 +513,7 @@ void
 swfdec_as_string_toLowerCase (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...
2007 Sep 02
0
libswfdec/swfdec_as_array.c libswfdec/swfdec_as_string.c
...c_as_array_new (cx));
   if (arr == NULL)
@@ -453,6 +473,9 @@ swfdec_as_string_substr (SwfdecAsContext
   const char *string = swfdec_as_string_object_to_string (cx, object);
   int from, to, len;
 
+  if (argc < 1)
+    return;
+
   from = swfdec_as_value_to_integer (cx, &argv[0]);
   len = g_utf8_strlen (string, -1);
   
@@ -487,6 +510,9 @@ swfdec_as_string_substring (SwfdecAsCont
   const char *string = swfdec_as_string_object_to_string (cx, object);
   int from, to, len;
 
+  if (argc < 1)
+    return;
+
   len = g_utf8_strlen (string, -1);
   from = swfdec_as_value_to_integer (cx, &argv[...
2007 Oct 25
0
12 commits - libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_text_field_movie_as.c libswfdec/swfdec_text_field_movie.c test/trace
..._movie.c
diff --cc libswfdec/swfdec_text_field_movie.c
index 8cdd015,bd42350..88207a2
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@@ -1592,8 -1601,7 +1592,8 @@@ swfdec_text_field_movie_replace_text (S
      }
      prev = iter;
    }
 +
-   if (end_index == g_utf8_strlen (text->input->str, -1)) {
+   if (end_index == (guint) g_utf8_strlen (text->input->str, -1)) {
      if (SWFDEC_AS_OBJECT (text)->context->version < 8) {
        SWFDEC_FIXME ("replaceText to the end of the TextField might use wrong text format on version 7");
      }...
2007 Jul 02
0
[PATCH] Implement StringLength + simple testcase.
On 6/29/07, Andreas Henriksson <andreas at fatal.se> wrote:
> (I don't know if adobe flash player actually handles utf8 characters in a v4
> flash, or if it's ming doing something funny to the testcase. Anyway,
> using g_utf8_strlen gives same result as the official player in both v4, v5,
> ...)
>
Ming is encoding characters as UTF8, no matter the Flash version. I
think there's a bug about it on http://www.libming.org. Since Flash 5
and lower reads them in as Latin1, you get the usual conversion
errors.
Benjamin
PS...
2007 Jun 28
0
Branch 'as' - 3 commits - libswfdec/swfdec_as_string.c libswfdec/swfdec_as_strings.c test/trace
...= SWFDEC_AS_STRING (object);
+  int offset=0, len, i=-1;
+  const char *s, *t = NULL;
+
+  s = swfdec_as_value_to_string (object->context, &argv[0]);
+  if (argc == 2)
+    offset = swfdec_as_value_to_integer (object->context, &argv[1]);
+  if (offset < 0)
+    offset = 0;
+  len = g_utf8_strlen (string->string, -1);
+  if (offset < len) {
+    t = strstr (g_utf8_offset_to_pointer (string->string, offset), s);
+  }
+  if (t != NULL) {
+    i = g_utf8_pointer_to_offset (string->string, t);
+  }
+
+  SWFDEC_AS_VALUE_SET_INT (ret, i);
+}
+
+static void
 swfdec_as_string_charAt (Sw...
2007 Oct 25
0
18 commits - libswfdec/swfdec_player_internal.h libswfdec/swfdec_text_field_movie_as.c libswfdec/swfdec_text_format.c libswfdec/swfdec_text_format.h libswfdec/swfdec_xml.c libswfdec/swfdec_xml_node.c libswfdec/swfdec_xml_node.h test/trace
...SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
 
@@ -1001,18 +1001,23 @@ swfdec_text_field_movie_setTextFormat (SwfdecAsContext *cx,
     return;
 
   i = 0;
-  if (argc >= 2) {
-    start_index = swfdec_as_value_to_integer (cx, &argv[i++]);
-    start_index = CLAMP (start_index, 0, g_utf8_strlen (text->input->str, -1));
-  } else {
+  if (argc <= i + 1) {
     start_index = 0;
-  }
-  if (argc >= 3) {
-    end_index = swfdec_as_value_to_integer (cx, &argv[i++]);
+    end_index = g_utf8_strlen (text->input->str, -1);
+  } else {
+    start_index = val = swfdec_as_value...
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
...decAsObject *object,
+    guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
 {
   SwfdecAsString *string = SWFDEC_AS_STRING (object);
   int from, to, len;
 
-  from = swfdec_as_value_to_integer (object->context, &argv[0]);
+  from = swfdec_as_value_to_integer (cx, &argv[0]);
   len = g_utf8_strlen (string->string, -1);
   
   if (argc > 1) {
-    to = swfdec_as_value_to_integer (object->context, &argv[1]);
+    to = swfdec_as_value_to_integer (cx, &argv[1]);
     /* FIXME: wtf? */
     if (to < 0) {
       if (-to <= from)
@@ -268,19 +273,20 @@ swfdec_as_string_substr...
2007 Oct 29
0
20 commits - libswfdec/Makefile.am libswfdec/swfdec_as_interpret.c libswfdec/swfdec_html_parser.c libswfdec/swfdec_initialize.as libswfdec/swfdec_initialize.h libswfdec/swfdec_text_field.c libswfdec/swfdec_text_field.h
...ield_movie_html_parse_tag (ParserData *data, const char *p)
 	  }
 	}
       }
+    }
 
-      tag = g_new0 (ParserTag, 1);
-      tag->name = name;
-      tag->name_length = name_length;
-      tag->format = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (data->cx));
-      tag->index = g_utf8_strlen (data->text->str, -1);
-
-      data->tags_open = g_slist_prepend (data->tags_open, tag);
-
-      // set format based on tag
-      object = SWFDEC_AS_OBJECT (tag->format);
-      SWFDEC_AS_VALUE_SET_BOOLEAN (&val, TRUE);
-
-      if (tag->name_length == 2 && !g_strnc...
2007 Oct 15
0
6 commits - libswfdec/swfdec_as_strings.c libswfdec/swfdec_codec_audio.c libswfdec/swfdec_codec_video.c libswfdec/swfdec_text_field.c libswfdec/swfdec_text_field.h libswfdec/swfdec_text_field_movie_as.c libswfdec/swfdec_text_field_movie.c
...xt_field_movie_as.c
@@ -420,7 +420,7 @@ swfdec_text_field_movie_get_length (SwfdecAsContext *cx, SwfdecAsObject *object,
 
   SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
 
-  SWFDEC_AS_VALUE_SET_INT (ret, strlen (text->text_display));
+  SWFDEC_AS_VALUE_SET_INT (ret, g_utf8_strlen (text->text_display, -1));
 }
 
 /*
@@ -453,6 +453,69 @@ swfdec_text_field_movie_set_condenseWhite (SwfdecAsContext *cx,
   text->condense_white = value;
 }
 
+static void
+swfdec_text_field_movie_get_multiline (SwfdecAsContext *cx,
+    SwfdecAsObject *object, guint argc, SwfdecAsValue *argv...
2007 Nov 14
0
9 commits - libswfdec/swfdec_as_string.c libswfdec/swfdec_color_as.c libswfdec/swfdec_interval.c test/image test/trace
...string (object->context, &argv[0]);
+  s = swfdec_as_value_to_string (cx, &argv[0]);
   if (argc == 2)
-    offset = swfdec_as_value_to_integer (object->context, &argv[1]);
+    offset = swfdec_as_value_to_integer (cx, &argv[1]);
   if (offset < 0)
     offset = 0;
   len = g_utf8_strlen (string, -1);
@@ -167,7 +167,7 @@ swfdec_as_string_charAt (SwfdecAsContext *cx, SwfdecAsObject *object,
   if (argc < 1)
     return;
 
-  i = swfdec_as_value_to_integer (object->context, &argv[0]);
+  i = swfdec_as_value_to_integer (cx, &argv[0]);
   if (i < 0) {
     SWFDEC_AS_VA...
2007 May 31
0
Branch 'as' - 8 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_string.c libswfdec/swfdec_as_strings.c libswfdec/swfdec_as_types.c test/trace
...ec/swfdec_as_string.c b/libswfdec/swfdec_as_string.c
index c2da01d..b1f9206 100644
--- a/libswfdec/swfdec_as_string.c
+++ b/libswfdec/swfdec_as_string.c
@@ -191,14 +191,25 @@ swfdec_as_string_substr (SwfdecAsObject 
 
   from = swfdec_as_value_to_integer (object->context, &argv[0]);
   len = g_utf8_strlen (string->string, -1);
-  if (from < 0)
-    from += len; /* from = len - ABS (from) aka start from end */
   
   if (argc > 1) {
     to = swfdec_as_value_to_integer (object->context, &argv[1]);
+    /* FIXME: wtf? */
+    if (to < 0) {
+      if (-to <= from)
+	to = 0;
+...
2007 Jul 02
0
Branch 'as' - 4 commits - libswfdec/swfdec_as_interpret.c test/trace
...fdecAsConte
 }
 
 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 (v, g_utf8_strlen (s, -1));  
+}
+
+static void
 swfdec_action_string_compare (SwfdecAsContext *cx, guint action, const guint8 *data, guint len)
 {
   const char *l, *r;
@@ -2394,7 +2405,7 @@ const SwfdecActionSpec swfdec_as_actions
   [SWFDEC_AS_ACTION_OR] = { "Or", NULL, 2, 1, { NULL, /* FIXME */NULL, sw...
2007 Oct 22
0
12 commits - libswfdec/swfdec_as_strings.c libswfdec/swfdec_html_parser.c libswfdec/swfdec_text_field.c libswfdec/swfdec_text_field.h libswfdec/swfdec_text_field_movie_as.c libswfdec/swfdec_text_field_movie.c libswfdec/swfdec_text_field_movie.h test/trace
...tr);
 
   // if input was orginally html, remove all \r
   if (text->input_html) {
@@ -182,7 +182,7 @@ swfdec_text_field_movie_get_length (SwfdecAsContext *cx, SwfdecAsObject *object,
 
   SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
 
-  SWFDEC_AS_VALUE_SET_INT (ret, g_utf8_strlen (text->text_display, -1));
+  SWFDEC_AS_VALUE_SET_INT (ret, g_utf8_strlen (text->input->str, -1));
 }
 
 /*
@@ -349,7 +349,7 @@ swfdec_text_field_movie_do_get_type (SwfdecAsContext *cx,
 
   SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
 
-  if (text->text->...