From adf9a45469f55258446d383333aa2ca79cfb0536 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sun, 2 Nov 2003 16:31:35 +0000 Subject: * Primops: baseNameOf, toString. --- src/fix-ng/primops.cc | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/fix-ng/primops.cc') diff --git a/src/fix-ng/primops.cc b/src/fix-ng/primops.cc index f86f9eb38d..7d060124b7 100644 --- a/src/fix-ng/primops.cc +++ b/src/fix-ng/primops.cc @@ -204,3 +204,22 @@ Expr primDerivation(EvalState & state, Expr args) return makeAttrs(attrs); } + + +Expr primBaseNameOf(EvalState & state, Expr arg) +{ + string s = evalString(state, arg); + return ATmake("Str()", baseNameOf(s).c_str()); +} + + +Expr primToString(EvalState & state, Expr arg) +{ + arg = evalExpr(state, arg); + char * s; + if (ATmatch(arg, "Str()", &s) || + ATmatch(arg, "Path()", &s) || + ATmatch(arg, "Uri()", &s)) + return ATmake("Str()", s); + else throw badTerm("cannot coerce to string", arg); +} -- cgit 1.4.1