int main(int argc, char **argv) { Message msg_in("in"), msg_out("out"), msg_empty, msg_test(msg_out); Folder fld_in, fld_out; msg_in.save(fld_in); msg_out.save(fld_out); }
void com_pager (int msgnum) { struct qtmsg *qt_msg; if (!(qt_msg = msg_in(qt_list.common, msgnum))) { impossible("com_pager: message %d not found.", msgnum); return; } (void) dlb_fseek(msg_file, qt_msg->offset, SEEK_SET); if (qt_msg->delivery == 'p') deliver_by_pline(qt_msg); else if (msgnum == 1) deliver_by_window(qt_msg, NHW_MENU); else deliver_by_window(qt_msg, NHW_TEXT); return; }
void qt_pager(int msgnum) { struct qtmsg *qt_msg; if (!(qt_msg = msg_in(qt_list.chrole, msgnum))) { impossible("qt_pager: message %d not found.", msgnum); return; } dlb_fseek(msg_file, qt_msg->offset, SEEK_SET); if (qt_msg->delivery == 'p') deliver_by_pline(qt_msg); else deliver_by_window(qt_msg); return; }
/* buf may be multi 32-bytes msgs. */ ssize_t rcv_msg(int fd, void *buf, size_t count) { struct msg in_msg; int msg_len = 0, res = 0; do { res = msg_in(fd, &in_msg); if (res < 0) return -1; if ((count - msg_len - res + 4) < 0) return -1; /* buffer will overflow */ memcpy((unsigned char *)buf + msg_len, in_msg.value + 1, res - 4); msg_len += (res - 4); } while (in_msg.data_status == MULTI_MSG); return msg_len; }