aboutsummaryrefslogtreecommitdiffstats
path: root/src/c_fuzz.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/c_fuzz.go')
-rw-r--r--src/c_fuzz.go26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/c_fuzz.go b/src/c_fuzz.go
index e183a85..68976bd 100644
--- a/src/c_fuzz.go
+++ b/src/c_fuzz.go
@@ -84,7 +84,7 @@ func c_fuzz_find_item(str_out string, litems *ItemsList) (*ItemsNode) {
if ptr.is_dir() == true {
continue
}
- if strings.Compare(name, ptr.Host.Name) == 0 && strings.Compare(path, ptr.path()) == 0 {
+ if name == ptr.Host.Name && path == ptr.path() {
return ptr
}
}
@@ -92,9 +92,11 @@ func c_fuzz_find_item(str_out string, litems *ItemsList) (*ItemsNode) {
}
func c_fuzz(data *HardData, ui *HardUI) {
- if err := ui.s.Suspend(); err != nil {
- c_error_mode("screen", err, ui)
- return
+ if ui.s != nil {
+ if err := ui.s.Suspend(); err != nil {
+ c_error_mode("screen", err, ui)
+ return
+ }
}
search := exec.Command("fzf")
stdin, stdout := c_fuzz_init_pipes(ui, search)
@@ -103,7 +105,9 @@ func c_fuzz(data *HardData, ui *HardUI) {
}
if err := search.Start(); err != nil {
c_error_mode("fzf", err, ui)
- c_resume_or_die(ui)
+ if ui.s != nil {
+ c_resume_or_die(ui)
+ }
return
}
go func() {
@@ -117,15 +121,21 @@ func c_fuzz(data *HardData, ui *HardUI) {
}()
output, err := io.ReadAll(stdout)
if err != nil {
- ui.s.Fini()
+ if ui.s != nil {
+ ui.s.Fini()
+ }
c_die("search stdout", err)
}
str_out := strings.TrimSuffix(string(output), "\n")
- c_resume_or_die(ui)
+ if ui.s != nil {
+ c_resume_or_die(ui)
+ }
if len(str_out) > 0 {
item := c_fuzz_find_item(str_out, data.litems)
if item == nil {
- c_error_mode("item not found", nil, ui)
+ if ui.s != nil {
+ c_error_mode("item not found", nil, ui)
+ }
return
}
data.litems.curr = item