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