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>
32 lines
1.2 KiB
Diff
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
|