diff --git a/memory.hh b/memory.hh new file mode 100644 index 0000000..660f488 --- /dev/null +++ b/memory.hh @@ -0,0 +1,11 @@ +#ifndef MEMORY_HH +#define MEMORY_HH + +#include + +template +std::unique_ptr make_unique(T *p, Deleter d) { + return std::unique_ptr(p, d); +} + +#endif diff --git a/termite.cc b/termite.cc index 98d2d1d..c02219b 100644 --- a/termite.cc +++ b/termite.cc @@ -12,6 +12,7 @@ #include #include +#include "memory.hh" #include "url_regex.hh" using namespace std::placeholders; @@ -133,7 +134,7 @@ static void find_urls(VteTerminal *vte, search_panel_info *panel_info) { } static void launch_url(const char *text, search_panel_info *info) { - std::unique_ptr copy(strdup(text), free); + auto copy = make_unique(strdup(text), free); for (char *s_ptr = copy.get(), *saveptr; ; s_ptr = nullptr) { const char *token = strtok_r(s_ptr, ",", &saveptr); if (!token) {