ihalila / pancurses

A Rust curses library, supports Unix platforms and Windows
MIT License
396 stars 44 forks source link

`ctrl`+`space` causes panic on `unwrap` #51

Closed ghost closed 6 years ago

ghost commented 6 years ago
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: NulError(6, [104, 101, 108, 108, 111, 10, 0])', libcore/result.rs:945:5
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
             at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::print
             at libstd/sys_common/backtrace.rs:71
             at libstd/sys_common/backtrace.rs:59
   2: std::panicking::default_hook::{{closure}}
             at libstd/panicking.rs:211
   3: std::panicking::default_hook
             at libstd/panicking.rs:227
   4: std::panicking::rust_panic_with_hook
             at libstd/panicking.rs:511
   5: std::panicking::continue_panic_fmt
             at libstd/panicking.rs:426
   6: rust_begin_unwind
             at libstd/panicking.rs:337
   7: core::panicking::panic_fmt
             at libcore/panicking.rs:92
   8: core::result::unwrap_failed
             at /checkout/src/libcore/macros.rs:26
   9: <core::result::Result<T, E>>::unwrap
             at /checkout/src/libcore/result.rs:782
  10: pancurses::window::Window::addstr
             at /home/alexander/.cargo/registry/src/github.com-1ecc6299db9ec823/pancurses-0.16.0/src/window.rs:33
  11: pancake::menu::load_menu::LoadMenu::render
             at src/menu/load_menu.rs:27
  12: pancake::menu::load_menu::LoadMenu::run
             at src/menu/load_menu.rs:13
  13: pancake::menu::Menu::run
             at src/menu/mod.rs:37
  14: pancake::run
             at src/main.rs:27
  15: pancake::main
             at src/main.rs:15
  16: std::rt::lang_start::{{closure}}
             at /checkout/src/libstd/rt.rs:74
  17: std::panicking::try::do_call
             at libstd/rt.rs:59
             at libstd/panicking.rs:310
  18: __rust_maybe_catch_panic
             at libpanic_unwind/lib.rs:105
  19: std::rt::lang_start_internal
             at libstd/panicking.rs:289
             at libstd/panic.rs:392
             at libstd/rt.rs:58
  20: std::rt::lang_start
             at /checkout/src/libstd/rt.rs:74
  21: main
  22: __libc_start_main
  23: _start

The code:

                Some(Character(c)) => { filename.push(c)      }
                Some(KeyUp)        => { return Some(filename) }
                _                  => { return None           }

It seems that ctrl+space is being interpreted as a character but push panics. Am I using matchers incorrectly here?

ghost commented 6 years ago

Really the same issue as the other I opened.