Make binwire a little bit more error-resistant
authorJoshua Wise <joshua@rebirth.joshuawise.com>
Fri, 9 May 2008 08:50:24 +0000 (04:50 -0400)
committerJoshua Wise <joshua@rebirth.joshuawise.com>
Fri, 9 May 2008 08:50:24 +0000 (04:50 -0400)
binwire.c

index 3f19ca2..101b5c1 100644 (file)
--- a/binwire.c
+++ b/binwire.c
@@ -87,14 +87,22 @@ void main(int argc, char **argv)
   while ((sz = read(rfd, buf+3, 255)) > 0)
   {
     int rv;
+    char abuf[5];
     buf[0] = 0x1B;
     buf[1] = 'D';
     buf[2] = sz+1;
+    abuf[0] = 0x1B;
+    abuf[1] = 'A';
+    abuf[2] = (tc >> 16) & 0xFF;
+    abuf[3] = (tc >> 8) & 0xFF;
+    abuf[4] = tc & 0xFF;
     tc += sz;
     retry:
+    dowrite(abuf, 5);
+    rv = expect("A", 1);
     dowrite(buf, sz + 3);
     fprintf(stderr, "Data sent (%d)\n", tc);
-    rv = expect("D", 1);
+    rv |= expect("D", 1);
     expect_no_chars();
     if (rv)
     {
This page took 0.019912 seconds and 4 git commands to generate.