diff --git a/src/Frame.cc b/src/Frame.cc index 6aad078db1..f4eb49cbac 100644 --- a/src/Frame.cc +++ b/src/Frame.cc @@ -410,7 +410,7 @@ std::pair Frame::Unserialize(const broker::vector& data) return std::make_pair(false, nullptr); } - rf->frame[i] = val.release(); + rf->frame[i] = val.detach(); } return std::make_pair(true, rf); diff --git a/src/IntrusivePtr.h b/src/IntrusivePtr.h index 5f90672c39..dd5eae9112 100644 --- a/src/IntrusivePtr.h +++ b/src/IntrusivePtr.h @@ -5,15 +5,6 @@ #include #include -// These forward declarations only exist to enable ADL for the Ref and Unref -// functions. - -struct IntrusivePtrDummy; - -void Ref(IntrusivePtrDummy*); - -void Unref(IntrusivePtrDummy*); - // An intrusive, reference counting smart pointer implementation. template class IntrusivePtr { @@ -65,7 +56,7 @@ public: ~IntrusivePtr() { - if (ptr_) + if ( ptr_ ) Unref(ptr_); } @@ -76,10 +67,10 @@ public: // Returns the raw pointer without modifying the reference count and sets // this to `nullptr`. - pointer release() noexcept + pointer detach() noexcept { auto result = ptr_; - if (result) + if ( result ) ptr_ = nullptr; return result; } @@ -88,7 +79,7 @@ public: { auto old = ptr_; setPtr(new_value, add_ref); - if (old) + if ( old ) Unref(old); } diff --git a/src/Val.cc b/src/Val.cc index cfc8f5fd83..29959ff0f7 100644 --- a/src/Val.cc +++ b/src/Val.cc @@ -3159,7 +3159,7 @@ Val* cast_value_to_type(Val* v, BroType* t) if ( ! dv ) return 0; - return static_cast(dv)->castTo(t).release(); + return static_cast(dv)->castTo(t).detach(); } return 0; diff --git a/src/broker/Data.cc b/src/broker/Data.cc index 382a27ac45..6401a15cc1 100644 --- a/src/broker/Data.cc +++ b/src/broker/Data.cc @@ -229,14 +229,14 @@ struct val_converter { return nullptr; } - list_val->Append(index_val.release()); + list_val->Append(index_val.detach()); } rval->Assign(list_val.get(), nullptr); } - return rval.release(); + return rval.detach(); } result_type operator()(broker::table& a) @@ -293,7 +293,7 @@ struct val_converter { return nullptr; } - list_val->Append(index_val.release()); + list_val->Append(index_val.detach()); } auto value_val = bro_broker::data_to_val(move(item.second), @@ -304,10 +304,10 @@ struct val_converter { return nullptr; } - rval->Assign(list_val.get(), value_val.release()); + rval->Assign(list_val.get(), value_val.detach()); } - return rval.release(); + return rval.detach(); } result_type operator()(broker::vector& a) @@ -326,10 +326,10 @@ struct val_converter { return nullptr; } - rval->Assign(rval->Size(), item_val.release()); + rval->Assign(rval->Size(), item_val.detach()); } - return rval.release(); + return rval.detach(); } else if ( type->Tag() == TYPE_FUNC ) { @@ -399,11 +399,11 @@ struct val_converter { return nullptr; } - rval->Assign(i, item_val.release()); + rval->Assign(i, item_val.detach()); ++idx; } - return rval.release(); + return rval.detach(); } else if ( type->Tag() == TYPE_PATTERN ) { diff --git a/src/broker/Manager.cc b/src/broker/Manager.cc index d648bbf27a..392057e0f9 100644 --- a/src/broker/Manager.cc +++ b/src/broker/Manager.cc @@ -1033,7 +1033,7 @@ void Manager::ProcessEvent(const broker::topic& topic, broker::zeek::Event ev) auto val = data_to_val(std::move(args[i]), expected_type); if ( val ) - vl.push_back(val.release()); + vl.push_back(val.detach()); else { auto expected_name = type_name(expected_type->Tag()); @@ -1245,7 +1245,7 @@ bool Manager::ProcessIdentifierUpdate(broker::zeek::IdentifierUpdate iu) return false; } - id->SetVal(val.release()); + id->SetVal(val.detach()); return true; } diff --git a/src/probabilistic/Topk.cc b/src/probabilistic/Topk.cc index fd373cc5c1..131f490fae 100644 --- a/src/probabilistic/Topk.cc +++ b/src/probabilistic/Topk.cc @@ -512,7 +512,7 @@ bool TopkVal::DoUnserialize(const broker::data& data) Element* e = new Element(); e->epsilon = *epsilon; - e->value = val.release(); + e->value = val.detach(); e->parent = b; b->elements.insert(b->elements.end(), e);