FreeCalypso > hg > freecalypso-sw
comparison rvinterf/tmsh/pktsort.c @ 335:40b8557b9d04
rvinterf suite: libasync factored out of fc-tmsh
| author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
|---|---|
| date | Tue, 22 Apr 2014 06:51:09 +0000 |
| parents | c146f38d2b5f |
| children | a26470040d89 |
comparison
equal
deleted
inserted
replaced
| 334:73a2b359b3cd | 335:40b8557b9d04 |
|---|---|
| 13 #include "localtypes.h" | 13 #include "localtypes.h" |
| 14 #include "etm.h" | 14 #include "etm.h" |
| 15 | 15 |
| 16 extern u_char rvi_msg[]; | 16 extern u_char rvi_msg[]; |
| 17 extern int rvi_msg_len; | 17 extern int rvi_msg_len; |
| 18 | |
| 19 void | |
| 20 safe_print_trace(src, srclen, dest) | |
| 21 u_char *src; | |
| 22 char *dest; | |
| 23 { | |
| 24 int i, c; | |
| 25 char *dp; | |
| 26 | |
| 27 dp = dest; | |
| 28 for (i = 0; i < srclen; i++) { | |
| 29 c = src[i]; | |
| 30 if (c & 0x80) { | |
| 31 *dp++ = 'M'; | |
| 32 *dp++ = '-'; | |
| 33 c &= 0x7F; | |
| 34 } | |
| 35 if (c < 0x20) { | |
| 36 *dp++ = '^'; | |
| 37 *dp++ = c + '@'; | |
| 38 } else if (c == 0x7F) { | |
| 39 *dp++ = '^'; | |
| 40 *dp++ = '?'; | |
| 41 } else | |
| 42 *dp++ = c; | |
| 43 } | |
| 44 *dp = '\0'; | |
| 45 } | |
| 46 | |
| 47 static void | |
| 48 handle_useid_0() | |
| 49 { | |
| 50 char buf[MAX_PKT_FROM_TARGET*4]; | |
| 51 | |
| 52 if (strncmp(rvi_msg + 7, "RVT: Lost Message", 17)) | |
| 53 return; | |
| 54 safe_print_trace(rvi_msg + 7, rvi_msg_len - 7, buf); | |
| 55 async_msg_output(buf); | |
| 56 } | |
| 57 | 18 |
| 58 static void | 19 static void |
| 59 print_etm_trace() | 20 print_etm_trace() |
| 60 { | 21 { |
| 61 char buf[MAX_PKT_FROM_TARGET*4]; | 22 char buf[MAX_PKT_FROM_TARGET*4]; |
