From a9faa7bbce963ddb894699a7cc6ea8a3876e4d9f Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 17 Dec 2015 15:15:28 +0100 Subject: [PATCH] showId: Handle empty attribute names We should probably disallow these, but until then, we shouldn't barf with an assertion failure. Fixes #738. --- src/libexpr/nixexpr.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libexpr/nixexpr.cc b/src/libexpr/nixexpr.cc index 35db52a13..5bc8e4202 100644 --- a/src/libexpr/nixexpr.cc +++ b/src/libexpr/nixexpr.cc @@ -30,8 +30,9 @@ static void showString(std::ostream & str, const string & s) static void showId(std::ostream & str, const string & s) { - assert(!s.empty()); - if (s == "if") + if (s.empty()) + str << "\"\""; + else if (s == "if") // FIXME: handle other keywords str << '"' << s << '"'; else { char c = s[0];