From 3fbd32a30316d8cdf4580f1469c942aa71a50319 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Tr=C3=A1vn=C3=AD=C4=8Dek?= <Jan.Travnicek@fit.cvut.cz> Date: Fri, 15 Oct 2021 13:10:38 +0200 Subject: [PATCH] std: use RAII in typeindex printing --- alib2std/src/extensions/typeindex.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/alib2std/src/extensions/typeindex.cpp b/alib2std/src/extensions/typeindex.cpp index 6b7294a525..d2d9a2187a 100644 --- a/alib2std/src/extensions/typeindex.cpp +++ b/alib2std/src/extensions/typeindex.cpp @@ -3,14 +3,15 @@ #include <cstdlib> #include <cxxabi.h> +#include <memory> + namespace ext { std::ostream & operator << ( std::ostream & os, const ext::type_index & type ) { int status; - char * demangled = abi::__cxa_demangle(type.name(), nullptr, nullptr, &status); + std::unique_ptr < char, void (*) ( char * ) > demangled ( abi::__cxa_demangle ( type.name ( ), nullptr, nullptr, & status ), [ ] ( char * ptr ) { free ( ptr ); } ); os << demangled; - free ( demangled ); return os; } -- GitLab