about summary refs log tree commit diff
path: root/src/libutil
diff options
context:
space:
mode:
Diffstat (limited to 'src/libutil')
-rw-r--r--src/libutil/aterm.cc12
-rw-r--r--src/libutil/aterm.hh5
2 files changed, 17 insertions, 0 deletions
diff --git a/src/libutil/aterm.cc b/src/libutil/aterm.cc
index 77bf8dab4c12..6ca4521909ea 100644
--- a/src/libutil/aterm.cc
+++ b/src/libutil/aterm.cc
@@ -27,3 +27,15 @@ Error badTerm(const format & f, ATerm t)
     }
     return Error(format("%1%, in `%2%'") % f.str() % (string) s);
 }
+
+
+ATerm toATerm(const char * s)
+{
+    return (ATerm) ATmakeAppl0(ATmakeAFun((char *) s, 0, ATtrue));
+}
+
+
+ATerm toATerm(const string & s)
+{
+    return toATerm(s.c_str());
+}
diff --git a/src/libutil/aterm.hh b/src/libutil/aterm.hh
index 883d20c63ad1..22364ba0118f 100644
--- a/src/libutil/aterm.hh
+++ b/src/libutil/aterm.hh
@@ -41,4 +41,9 @@ public:
 Error badTerm(const format & f, ATerm t);
 
 
+/* Convert strings to ATerms. */
+ATerm toATerm(const char * s);
+ATerm toATerm(const string & s);
+
+
 #endif /* !__ATERM_H */