-
-/*
- * display a message (mode 3 - IGnet raw format - internal programs only)
- */
-void cmd_msg3(char *cmdbuf)
-{
- long msgnum;
- struct CtdlMessage *msg = NULL;
- struct ser_ret smr;
-
- if (CC->internal_pgm == 0) {
- cprintf("%d This command is for internal programs only.\n",
- ERROR + HIGHER_ACCESS_REQUIRED);
- return;
- }
-
- msgnum = extract_long(cmdbuf, 0);
- msg = CtdlFetchMessage(msgnum, 1, 1);
- if (msg == NULL) {
- cprintf("%d Message %ld not found.\n",
- ERROR + MESSAGE_NOT_FOUND, msgnum);
- return;
- }
-
- CtdlSerializeMessage(&smr, msg);
- CM_Free(msg);
-
- if (smr.len == 0) {
- cprintf("%d Unable to serialize message\n",
- ERROR + INTERNAL_ERROR);
- return;
- }
-
- cprintf("%d %ld\n", BINARY_FOLLOWS, (long)smr.len);
- client_write((char *)smr.ser, (int)smr.len);
- free(smr.ser);
-}
-
-
-