From 7cbf3c1e0e5833e1314eefde00dc96457d9c4032 Mon Sep 17 00:00:00 2001 From: Kp Date: Sat, 20 Dec 2014 04:36:08 +0000 Subject: [PATCH] Use unique_ptr for browser --- common/ui/file.cpp | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/common/ui/file.cpp b/common/ui/file.cpp index 3729078e8..855f1b464 100644 --- a/common/ui/file.cpp +++ b/common/ui/file.cpp @@ -32,6 +32,8 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #include "window.h" #include "u_mem.h" +#include "compiler-make_unique.h" + static int file_sort_func(char **e0, char **e1) { return d_stricmp(*e0, *e1); @@ -270,15 +272,10 @@ int ui_get_filename( char * filename, const char * filespec, const char * messag { char InputText[PATH_MAX]; char *p; - browser *b; UI_DIALOG *dlg; window *wind; int rval = 0; - - MALLOC(b, browser, 1); - if (!b) - return 0; - + auto b = make_unique(); if ((p = strrchr(filename, '/'))) { *p++ = 0; @@ -294,7 +291,6 @@ int ui_get_filename( char * filename, const char * filespec, const char * messag b->filename_list = file_getfilelist(&b->num_files, filespec, b->view_dir); if (!b->filename_list) { - d_free(b); return 0; } @@ -302,7 +298,6 @@ int ui_get_filename( char * filename, const char * filespec, const char * messag if (!b->directory_list) { PHYSFS_freeList(b->filename_list); - d_free(b); return 0; } @@ -311,7 +306,7 @@ int ui_get_filename( char * filename, const char * filespec, const char * messag b->spaces[i] = ' '; b->spaces[34] = 0; - dlg = ui_create_dialog( 200, 100, 400, 370, static_cast(DF_DIALOG | DF_MODAL), browser_handler, b ); + dlg = ui_create_dialog( 200, 100, 400, 370, static_cast(DF_DIALOG | DF_MODAL), browser_handler, b.get()); b->user_file = ui_add_gadget_inputbox( dlg, 60, 30, PATH_MAX, 40, InputText ); @@ -350,8 +345,6 @@ int ui_get_filename( char * filename, const char * filespec, const char * messag PHYSFS_freeList(b->directory_list); rval = b->filename_list != NULL; - d_free(b); - return rval; }