# HG changeset patch # User Mychaela Falconia # Date 1547532064 0 # Node ID 261c1b6d936e754bf1f45aa8bdcc26bc6d645800 # Parent e13f60d4f8dd7607cd0c7c3606f9ab29cc838ecd fcup-rvtat: added support for long strings with new fw versions diff -r e13f60d4f8dd -r 261c1b6d936e rvinterf/rvtat/main.c --- a/rvinterf/rvtat/main.c Wed Jan 09 07:58:06 2019 +0000 +++ b/rvinterf/rvtat/main.c Tue Jan 15 06:01:04 2019 +0000 @@ -15,7 +15,7 @@ extern u_char rvi_msg[]; extern int rvi_msg_len; -char command[256], message[256]; +char command[508], message[508]; int cmd_with_msg; read_command_input(buf) @@ -23,7 +23,7 @@ { char *nl; - if (!fgets(buf, 256, stdin)) + if (!fgets(buf, 508, stdin)) return(0); nl = index(buf, '\n'); if (!nl) { @@ -34,7 +34,21 @@ return(1); } -send_to_target(str) +send_to_target_prefix(str) + char *str; +{ + u_char sendpkt[MAX_PKT_TO_TARGET]; + + /* fill out the packet */ + sendpkt[0] = RVT_AT_HEADER; + sendpkt[1] = 0x01; + bcopy(str, sendpkt + 2, 252); + /* send it! */ + send_pkt_to_target(sendpkt, 254); + return(0); +} + +send_to_target_plain(str) char *str; { unsigned len; @@ -49,6 +63,21 @@ return(0); } +send_to_target(str) + char *str; +{ + unsigned len; + + len = strlen(str); + if (len <= 254) + send_to_target_plain(str); + else { + send_to_target_prefix(str); + send_to_target_plain(str + 252); + } + return(0); +} + execute_command() { send_to_target(command);