From 02063a5a6a1ae3bf4de5b697d18c6c3f1c007483 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 6 Jan 2023 16:35:17 +0530 Subject: [PATCH] Make some variables local no need for them to be global --- tools/cmd/icat/detect.go | 15 +++++++++++++++ tools/cmd/icat/main.go | 21 --------------------- 2 files changed, 15 insertions(+), 21 deletions(-) diff --git a/tools/cmd/icat/detect.go b/tools/cmd/icat/detect.go index f5b1457f1..66d419e0e 100644 --- a/tools/cmd/icat/detect.go +++ b/tools/cmd/icat/detect.go @@ -17,6 +17,8 @@ import ( var _ = fmt.Print func DetectSupport(timeout time.Duration) (memory, files, direct bool, err error) { + temp_files_to_delete := make([]string, 0, 8) + shm_files_to_delete := make([]shm.MMap, 0, 8) var direct_query_id, file_query_id, memory_query_id uint32 lp, e := loop.New(loop.NoAlternateScreen, loop.NoRestoreColors, loop.NoMouseTracking) if e != nil { @@ -27,6 +29,19 @@ func DetectSupport(timeout time.Duration) (memory, files, direct bool, err error lp.Println(fmt.Sprintf(format, args...)) } + defer func() { + if len(temp_files_to_delete) > 0 && transfer_by_file != supported { + for _, name := range temp_files_to_delete { + os.Remove(name) + } + } + if len(shm_files_to_delete) > 0 && transfer_by_memory != supported { + for _, name := range shm_files_to_delete { + name.Unlink() + } + } + }() + lp.OnInitialize = func() (string, error) { var iid uint32 lp.AddTimer(timeout, false, func(loop.IdType) error { diff --git a/tools/cmd/icat/main.go b/tools/cmd/icat/main.go index fe46c93b6..ee71e8dff 100644 --- a/tools/cmd/icat/main.go +++ b/tools/cmd/icat/main.go @@ -17,7 +17,6 @@ import ( "kitty/tools/tui/graphics" "kitty/tools/utils" "kitty/tools/utils/images" - "kitty/tools/utils/shm" "kitty/tools/utils/style" "golang.org/x/sys/unix" @@ -45,8 +44,6 @@ const ( var transfer_by_file, transfer_by_memory, transfer_by_stream transfer_mode -var temp_files_to_delete []string -var shm_files_to_delete []shm.MMap var files_channel chan input_arg var output_channel chan *image_data var num_of_items int @@ -131,20 +128,6 @@ func print_error(format string, args ...any) { fmt.Fprintln(os.Stderr) } -func on_finalize() string { - if len(temp_files_to_delete) > 0 && transfer_by_file != supported { - for _, name := range temp_files_to_delete { - os.Remove(name) - } - } - if len(shm_files_to_delete) > 0 && transfer_by_memory != supported { - for _, name := range shm_files_to_delete { - name.Unlink() - } - } - return "" -} - func main(cmd *cli.Command, o *Options, args []string) (rc int, err error) { opts = o err = parse_place() @@ -185,8 +168,6 @@ func main(cmd *cli.Command, o *Options, args []string) (rc int, err error) { return 1, fmt.Errorf("Terminal does not support reporting screen sizes in pixels, use a terminal such as kitty, WezTerm, Konsole, etc. that does.") } - temp_files_to_delete = make([]string, 0, 8) - shm_files_to_delete = make([]shm.MMap, 0, 8) items, err := process_dirs(args...) if err != nil { return 1, err @@ -209,8 +190,6 @@ func main(cmd *cli.Command, o *Options, args []string) (rc int, err error) { } } - defer on_finalize() - if opts.TransferMode == "detect" || opts.DetectSupport { memory, files, direct, err := DetectSupport(time.Duration(opts.DetectionTimeout * float64(time.Second))) if err != nil {