]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
vala: Add MarkupReader.from_string() and support add support for "percnt;"
authorRico Tzschichholz <ricotz@ubuntu.com>
Sun, 26 Nov 2017 14:36:58 +0000 (15:36 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Sun, 26 Nov 2017 19:41:25 +0000 (20:41 +0100)
vala/valamarkupreader.vala

index 2ecca0cd0d3573a71a4aab321db70aeb6f076e7d..0197320dcafab676cd0ff6e8b4efe023f4d63c22 100644 (file)
@@ -61,6 +61,18 @@ public class Vala.MarkupReader {
                }
        }
 
+       public MarkupReader.from_string (string filename, string content) {
+               this.filename = filename;
+
+               begin = content;
+               end = begin + content.length;
+
+               current = begin;
+
+               line = 1;
+               column = 1;
+       }
+
        public string? get_attribute (string attr) {
                return attributes[attr];
        }
@@ -108,6 +120,9 @@ public class Vala.MarkupReader {
                        return MarkupTokenType.END_ELEMENT;
                }
 
+               content = null;
+               name = null;
+
                space ();
 
                MarkupTokenType type = MarkupTokenType.NONE;
@@ -243,6 +258,11 @@ public class Vala.MarkupReader {
                                        content.append_c ('>');
                                        current += 4;
                                        text_begin = current;
+                               } else if (((string) next_pos).has_prefix ("percnt;")) {
+                                       content.append (((string) text_begin).substring (0, (int) (current - text_begin)));
+                                       content.append_c ('%');
+                                       current += 8;
+                                       text_begin = current;
                                } else {
                                        current += u.to_utf8 (null);
                                }