static void join_print_po(struct packet_object *po) { int ret; /* check if the object exists */ if (wdg_conndata == NULL || wdg_join == NULL) return; /* if not focused don't refresh it */ if (!(wdg_conndata->flags & WDG_OBJ_FOCUSED)) return; /* check the regex filter */ if (GBL_OPTIONS->regex && regexec(GBL_OPTIONS->regex, (const char*)po->DATA.disp_data, 0, NULL, 0) != 0) { return; } /* use the global to reuse the same memory region */ SAFE_REALLOC(dispbuf, hex_len(po->DATA.disp_len) * sizeof(u_char) + 1); /* format the data */ ret = GBL_FORMAT(po->DATA.disp_data, po->DATA.disp_len, dispbuf); dispbuf[ret] = 0; if (!ip_addr_cmp(&po->L3.src, &curr_conn->L3_addr1)) wdg_scroll_print(wdg_join, EC_COLOR_JOIN1, "%s", dispbuf); else wdg_scroll_print(wdg_join, EC_COLOR_JOIN2, "%s", dispbuf); }
/* * print a USER_MSG() extracting it from the queue */ static void curses_msg(const char *msg) { /* if the object does not exist yet */ if (sysmsg_win == NULL) return; wdg_scroll_print(sysmsg_win, EC_COLOR, "%s", (char *)msg); }
static void join_print(u_char *text, size_t len, struct ip_addr *L3_src) { int ret; /* check the regex filter */ if (GBL_OPTIONS->regex && regexec(GBL_OPTIONS->regex, (const char*)text, 0, NULL, 0) != 0) { return; } /* use the global to reuse the same memory region */ SAFE_REALLOC(dispbuf, hex_len(len) * sizeof(u_char) + 1); /* format the data */ ret = GBL_FORMAT(text, len, dispbuf); dispbuf[ret] = 0; if (!ip_addr_cmp(L3_src, &curr_conn->L3_addr1)) wdg_scroll_print(wdg_join, EC_COLOR_JOIN1, "%s", dispbuf); else wdg_scroll_print(wdg_join, EC_COLOR_JOIN2, "%s", dispbuf); }