summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhunt <hunt>2007-01-22 16:56:42 +0000
committerhunt <hunt>2007-01-22 16:56:42 +0000
commit77d3caafb8ed8eb1de4624644475ff28998e8d3b (patch)
tree47762a4fee33e7165a6b9999495cdb762ab160d7
parent7005d50b4b51408cd5eb1900ab5e355095664d9f (diff)
downloadsystemtap-steved-77d3caafb8ed8eb1de4624644475ff28998e8d3b.tar.gz
systemtap-steved-77d3caafb8ed8eb1de4624644475ff28998e8d3b.tar.xz
systemtap-steved-77d3caafb8ed8eb1de4624644475ff28998e8d3b.zip
2007-01-22 Martin Hunt <hunt@redhat.com>
* translate.cxx (mapvar::exists): Use new _stp_map_exists function. Testing for zero is no longer correct after changes from 2007-01-10 below.
-rw-r--r--ChangeLog6
-rw-r--r--translate.cxx7
2 files changed, 9 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 04eb99ad..292d416e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-01-22 Martin Hunt <hunt@redhat.com>
+
+ * translate.cxx (mapvar::exists): Use new _stp_map_exists function.
+ Testing for zero is no longer correct after changes from 2007-01-10
+ below.
+
2007-01-18 Frank Ch. Eigler <fche@elastic.org>
* main.cxx (version): Add (C) 2007.
diff --git a/translate.cxx b/translate.cxx
index c6085a57..34591c24 100644
--- a/translate.cxx
+++ b/translate.cxx
@@ -520,10 +520,9 @@ struct mapvar
string exists (vector<tmpvar> const & indices) const
{
- if (type() == pe_string)
- return ("({ char *v = " + call_prefix("get", indices)
- + "); (v != NULL && *v != '\\0');})");
- else if ((type() == pe_long) || (type() == pe_stats))
+ if (type() == pe_long || type() == pe_string)
+ return (call_prefix("exists", indices) + ")");
+ else if (type() == pe_stats)
return ("((uintptr_t)" + call_prefix("get", indices)
+ ") != (uintptr_t) 0)");
else