Add the last reviewed version to Cargo.toml / [dependencies]:

crossterm_input = "0.4.1"

Filter reviews clicking on the numbers in the summary.

Full column names in tooltip hints: rating Negative, rating Neutral, rating Positive, rating Strong, thoroughness, understanding, reviews count.

Neg
Neu
Pos
Str
tho
und
rev
1
1
1
1
crate version
rating
date
reviewer
thoroughness, understanding
crossterm_input 0.4.1
negative
2019-09-25
medium, medium
issues:
high
Unguarded access of static mut ORIG_MODE is unsound

Pros:

  • Handles console input

Cons:

  • Soundness issues
  • Not browser compatible
FileRatingNotes
.github/CODEOWNERS+1
docs/CONTRIBUTING.md+1
src/input/input.rs+1
src/input/unix_input.rs-1Parsing looks off, panicy internals
src/input/windows_input.rs-1Unsound [#245], very strange keyboard handling.
src/sys/unix.rs0Mishandles read == 0?
src/input.rs+1
src/lib.rs+1
src/sys.rs+1
.cargo_vcs_info.json+1
.cargo-ok+1
.gitignore+1
travis.yml+1
Cargo.toml+1MIT, winapi, libc, optional serde
Cargo.toml.orig+1MIT, winapi, libc, optional serde
CHANGELOG.md+1
LICENSE+1MIT
README.md+1MIT
OtherRatingNotes
unsafe-1Unsound
fs+1/dev/tty access, but that's expected
io+1Sound... probably
docs+1
tests0Admittedly hard to unit test

src/input/unix_input.rs

LineWhatNotes
198fn SyncReader::next-1, Disambiguating ESC like this seems super sketchy/brittle.
261fn parse_event-1, This is more like what ESC parsing should look like...?
269fn parse_event-1, \r\n -> Enter Enter? Seems wrong...
312fn parse_csi-1, .unwrap Panic city
EOF

src/input/windows_input.rs

LineWhatNotes
42static mut ORIG_MODE-1, More unsound access [[#2]]
47WindowsInput::read_char+1, unsafe { ... } - willing to assume _getwche is sound.
110fn WindowsInput::enable_mouse_mode-1, unsafe { ... } - unsound access of ORIG_MODE! [#245]
116fn WindowsInput::disable_mouse_mode-1, unsafe { ... } - unsound access of ORIG_MODE! [#245]
225fn read_single_event0, unsafe { ... } - KeyEventRecord::from(*input.event.KeyEvent()) is probably sound/safe?
228fn read_single_event0, unsafe { ... } - MouseEvent::from(*input.event.MouseEvent()) is probably sound/safe?
249fn read_input_events0, unsafe { ... } - KeyEventRecord::from(*input.event.KeyEvent()) is probably sound/safe?
256fn read_input_events0, unsafe { ... } - MouseEvent::from(*input.event.MouseEvent()) is probably sound/safe?
291fn parse_key_event_record0, Several keys are dead, apparently
303fn parse_key_event_record0, Strange enumeration values for KeyEvent
345fn parse_key_event_record-1, either VK_PRIOR | VK_NEXT can be sanely simplified a lot or something is super fucky.
354fn parse_key_event_record-1, either VK_END | VK_HOME can be sanely simplified a lot or something is super fucky.
367fn parse_key_event_record0, unsafe { ... } assumes UnicodeChar is valid. Private fn only called on win32 results... technically unsound of winapi only populated AsciiChar, but that would be super dumb.
EOF

src/sys/unix.rs

LineWhatNotes
19fn get_tty_fd+1, unsafe { ... } looks sound
45fn read_char_raw0, read == 0 can probably happen when pipe broken? generates extra ' '?
EOF

© bestia.dev 2023, MIT License, Version: 2023.608.1636

Open source repository for this web app: https://github.com/bestia-dev/cargo_crev_web/