Files
alexandClaude Sonnet 5 6d835bc44c Initial import: ESP32 ZiFi32 firmware with SMB2/3 VFS bridge
Based on https://github.com/tslabs/zx-evo/tree/master/pentevo/esp32,
extended with an SMB2/3 server that exposes the ZX Evolution's real SD
card as a network share (browse/download/upload/delete), plus assorted
stability and protocol-correctness fixes in vfs_bridge.cpp and the
vendored libsmb2 - see firmware/README.md for the detailed changelog
and current status.

Also adds:
- firmware/: ready-to-flash compiled binaries + flashing instructions
- hardware/: adapter board connection diagram, PCB photo, and Gerber
  files
- src/third_party/libsmb2: vendored from sahlberg/libsmb2 (LGPL-2.1,
  see its own COPYING/LICENCE files), de-submoduled to a plain
  snapshot with local patches applied directly

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-14 16:00:05 +03:00

32 lines
1.2 KiB
Diff

diff --git a/components/console/linenoise/linenoise.c b/components/console/linenoise/linenoise.c
index 64fcf23a12..637e5cf8c0 100644
--- a/components/console/linenoise/linenoise.c
+++ b/components/console/linenoise/linenoise.c
@@ -930,14 +930,18 @@ static int linenoiseEdit(char *buf, size_t buflen, const char *prompt)
return l.len;
}
- if ( (getMillis() - t1) < LINENOISE_PASTE_KEY_DELAY && c != ENTER) {
- /* Pasting data, insert characters without formatting.
- * This can only be performed when the cursor is at the end of the
- * line. */
- if (linenoiseInsertPastedChar(&l,c)) {
- return -1;
- }
- continue;
+ unsigned char uc = (unsigned char)c;
+
+ if ((getMillis() - t1) < LINENOISE_PASTE_KEY_DELAY &&
+ uc >= 0x20 &&
+ uc != BACKSPACE &&
+ c != ENTER) {
+ /* Fast path only for printable pasted bytes.
+ * Control keys must go through normal key handling. */
+ if (linenoiseInsertPastedChar(&l, c)) {
+ return -1;
+ }
+ continue;
}
/* Only autocomplete when the callback is set. It returns < 0 when