diff rvinterf/lowlevel/packetrx.c @ 174:3256dc6e84ae

rvinterf: refactored rvtdump compiles and works
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Fri, 22 Nov 2013 07:41:31 +0000
parents f42854da4563
children 2f285f20d617
line wrap: on
line diff
--- a/rvinterf/lowlevel/packetrx.c	Fri Nov 22 05:56:07 2013 +0000
+++ b/rvinterf/lowlevel/packetrx.c	Fri Nov 22 07:41:31 2013 +0000
@@ -6,21 +6,21 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
-#include "pktmux.h"
+#include "../pktmux.h"
+#include "../limits.h"
 
 extern int target_fd;
 
-#define	MAXPKT	512
-u_char rxpkt[MAXPKT];
+u_char rxpkt[MAX_PKT_FROM_TARGET];
 size_t rxpkt_len;
 
-extern char pr_item[];
-
 static int in_pkt, dle_state, toobig;
 
 static void
 process_inbyte(inb)
 {
+	char errbuf[128];
+
 	if (!in_pkt) {
 		if (inb != STX || dle_state) {
 			rxpkt_len++;
@@ -28,10 +28,10 @@
 			return;
 		}
 		if (rxpkt_len) {
-			sprintf(pr_item,
+			sprintf(errbuf,
 				"Warning: Rx %u byte%s outside of a packet",
 				(unsigned)rxpkt_len, rxpkt_len != 1 ? "s" : "");
-			print_item();
+			output_line(errbuf);
 			rxpkt_len = 0;
 		}
 		in_pkt = 1;
@@ -41,9 +41,9 @@
 	if (dle_state) {
 		dle_state = 0;
 		if (inb != STX && inb != DLE) {
-			sprintf(pr_item,
-				"Rx framing error: %02X after DLE\n", inb);
-			print_item();
+			sprintf(errbuf,
+				"Rx framing error: %02X after DLE", inb);
+			output_line(errbuf);
 			in_pkt = 0;
 			rxpkt_len = 0;
 			return;
@@ -61,10 +61,9 @@
 		rxpkt_len = 0;
 		return;
 	}
-data:	if (rxpkt_len >= MAXPKT) {
+data:	if (rxpkt_len >= MAX_PKT_FROM_TARGET) {
 		if (!toobig) {
-			sprintf(pr_item, "Error: Rx packet too big!\n");
-			print_item();
+			output_line("Error: Rx packet too big!");
 			toobig = 1;
 		}
 		return;