From 27fc3a3d43902bab109c5f08335f6132413764a2 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Mon, 23 Feb 2009 14:38:36 -0400 Subject: [PATCH] A sequence is false if all it contains is false --- src/value.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/value.cc b/src/value.cc index 54a6038f..96c8e269 100644 --- a/src/value.cc +++ b/src/value.cc @@ -94,7 +94,13 @@ value_t::operator bool() const case STRING: return ! as_string().empty(); case SEQUENCE: - return ! as_sequence().empty(); + if (! as_sequence().empty()) { + foreach (const value_t& value, as_sequence()) { + if (value) + return true; + } + } + return false; case POINTER: return ! as_any_pointer().empty(); default: