Type: return IntrusivePtr

This commit is contained in:
Max Kellermann 2020-03-02 19:33:49 +01:00
parent 0a6ddfb6b5
commit ba35ebec4c
38 changed files with 319 additions and 334 deletions

View file

@ -11,9 +11,8 @@ module FileExtract;
function FileExtract::__set_limit%(file_id: string, args: any, n: count%): bool
%{
using BifType::Record::Files::AnalyzerArgs;
RecordVal* rv = args->AsRecordVal()->CoerceTo(AnalyzerArgs);
bool result = file_mgr->SetExtractionLimit(file_id->CheckString(), rv, n);
Unref(rv);
auto rv = args->AsRecordVal()->CoerceTo(AnalyzerArgs);
bool result = file_mgr->SetExtractionLimit(file_id->CheckString(), rv.get(), n);
return val_mgr->GetBool(result);
%}

View file

@ -523,9 +523,9 @@ X509Val::~X509Val()
X509_free(certificate);
}
Val* X509Val::DoClone(CloneState* state)
IntrusivePtr<Val> X509Val::DoClone(CloneState* state)
{
auto copy = new X509Val();
auto copy = make_intrusive<X509Val>();
if ( certificate )
copy->certificate = X509_dup(certificate);

View file

@ -154,7 +154,7 @@ public:
*
* @return A cloned X509Val.
*/
Val* DoClone(CloneState* state) override;
IntrusivePtr<Val> DoClone(CloneState* state) override;
/**
* Destructor.