summaryrefslogtreecommitdiffstats
path: root/src/Term.vala
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2010-07-11 08:28:49 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2010-07-11 08:28:49 +0200
commit94de356834be40b1e14c85a016a2e0a9f1768053 (patch)
treef11586f01a55a559205297f2872f77569a1643f2 /src/Term.vala
parent2bfdf7e32fb4fb4b806264b323bac5237ed91705 (diff)
downloadeva-94de356834be40b1e14c85a016a2e0a9f1768053.tar
eva-94de356834be40b1e14c85a016a2e0a9f1768053.zip
Added support for parsing strings to complex terms
Diffstat (limited to 'src/Term.vala')
-rw-r--r--src/Term.vala8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/Term.vala b/src/Term.vala
index 698bfc2..273cfa2 100644
--- a/src/Term.vala
+++ b/src/Term.vala
@@ -60,7 +60,7 @@ namespace Eva {
case Erl.TermType.ATOM:
char[] value = new char[size+1];
assert(Erl.decode_atom(buffer, ref index, value) == 0);
- return new Atom(array_to_string(value, size));
+ return new Atom(binary_to_string(value, size));
case Erl.TermType.SMALL_TUPLE:
case Erl.TermType.LARGE_TUPLE:
@@ -87,7 +87,7 @@ namespace Eva {
case Erl.TermType.STRING:
char[] value = new char[size+1];
assert(Erl.decode_string(buffer, ref index, value) == 0);
- return new String(array_to_string(value, size));
+ return new String(binary_to_string(value, size));
case Erl.TermType.BINARY:
char[] value = new char[size];
@@ -129,5 +129,9 @@ namespace Eva {
return new List(head, tail);
}
+
+ public Term? parse(string str) {
+ return Eva.parse(str);
+ }
}
}