summaryrefslogtreecommitdiff
path: root/src/expr/expr.cpp
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2009-12-03 14:59:30 +0000
committerMorgan Deters <mdeters@gmail.com>2009-12-03 14:59:30 +0000
commit7fb54afe126e5045fc6c5553c1aff3c3f73509aa (patch)
tree37f4f23af0eccd6c9615a5af9b2d219e305d1f78 /src/expr/expr.cpp
parentbde1a14afc211c8f0f0521bb91feb562eaa9f9ea (diff)
parsing/expr/command/result/various other fixes
Diffstat (limited to 'src/expr/expr.cpp')
-rw-r--r--src/expr/expr.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/expr/expr.cpp b/src/expr/expr.cpp
index f94a3c438..2e3d7a7e2 100644
--- a/src/expr/expr.cpp
+++ b/src/expr/expr.cpp
@@ -22,16 +22,18 @@ Expr Expr::s_null(0);
Expr::Expr(ExprValue* ev)
: d_ev(ev) {
- d_ev->inc();
+ if(d_ev != 0)
+ d_ev->inc();
}
Expr::Expr(const Expr& e) {
- if((d_ev = e.d_ev))
+ if((d_ev = e.d_ev) && d_ev != 0)
d_ev->inc();
}
Expr::~Expr() {
- d_ev->dec();
+ if(d_ev)
+ d_ev->dec();
}
Expr& Expr::operator=(const Expr& e) {
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback