*
* This was originally written for blob and then adapted for busybox.
*/
+//config:config RX
+//config: bool "rx (2.9 kb)"
+//config: default y
+//config: select PLATFORM_LINUX
+//config: help
+//config: Receive files using the Xmodem protocol.
+
+//applet:IF_RX(APPLET(rx, BB_DIR_USR_BIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_RX) += rx.o
//usage:#define rx_trivial_usage
//usage: "FILE"
int blockBegin;
int blockNo, blockNoOnesCompl;
int cksum_or_crc;
- int expected;
+ unsigned expected;
int i, j;
blockBegin = read_byte(timeout);
&& blockBuf[blockLength - 3] == PAD
) {
while (blockLength
- && blockBuf[blockLength - 1] == PAD
+ && blockBuf[blockLength - 1] == PAD
) {
blockLength--;
}
}
if (cksum_or_crc != expected) {
bb_error_msg(do_crc ? "crc error, expected 0x%04x, got 0x%04x"
- : "checksum error, expected 0x%02x, got 0x%02x",
- expected, cksum_or_crc);
+ : "checksum error, expected 0x%02x, got 0x%02x",
+ expected, cksum_or_crc);
goto error;
}
termios_err = tcgetattr(read_fd, &tty);
if (termios_err == 0) {
+//TODO: use set_termios_to_raw()
orig_tty = tty;
cfmakeraw(&tty);
tcsetattr(read_fd, TCSAFLUSH, &tty);