FreeCalypso > hg > freecalypso-tools
view rvinterf/libasync/rvtrace.c @ 49:642da3373772
rvinterf/*/Makefile: move to /opt/freecalypso
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 26 Oct 2016 06:11:55 +0000 |
parents | e7502631a0f9 |
children | 6a0aa8d36d06 |
line wrap: on
line source
/* * Here we detect and handle "Lost Message" packets. */ #include <sys/types.h> #include <stdio.h> #include <string.h> #include <strings.h> #include <stdlib.h> #include "pktmux.h" #include "limits.h" #include "localsock.h" extern u_char rvi_msg[]; extern int rvi_msg_len; void safe_print_trace(src, srclen, dest) u_char *src; char *dest; { int i, c; char *dp; dp = dest; for (i = 0; i < srclen; i++) { c = src[i]; if (c & 0x80) { *dp++ = 'M'; *dp++ = '-'; c &= 0x7F; } if (c < 0x20) { *dp++ = '^'; *dp++ = c + '@'; } else if (c == 0x7F) { *dp++ = '^'; *dp++ = '?'; } else *dp++ = c; } *dp = '\0'; } void handle_useid_0() { char buf[MAX_PKT_FROM_TARGET*4]; if (strncmp(rvi_msg + 7, "RVT: Lost Message", 17)) return; safe_print_trace(rvi_msg + 7, rvi_msg_len - 7, buf); async_msg_output(buf); }