while (bbb[strlen(bbb) - 1] == '_')
bbb[strlen(bbb) - 1] = 0;
sprintf(name, &aaa[4], bbb);
+ lprintf(9, "returning MES_INTERNET\n");
return (MES_INTERNET);
}
if (!strncmp(aaa, "bin", 3)) {
while (bbb[0] == ' ')
strcpy(bbb, &bbb[1]);
sprintf(name, "%s @%s", aaa, bbb);
+ lprintf(9, "returning MES_BINARY\n");
return (MES_BINARY);
}
return (MES_ERROR);
}
+ lprintf(9, "returning MES_LOCAL\n");
return (MES_LOCAL);
}
ret->len = ret->len +
strlen(msg->cm_fields[(int)forder[i]]) + 2;
- lprintf(9, "calling malloc\n");
+ lprintf(9, "calling malloc(%d)\n", ret->len);
ret->ser = mallok(ret->len);
if (ret->ser == NULL) {
ret->len = 0;
long CtdlSaveMsg(struct CtdlMessage *msg, /* message to save */
char *rec, /* Recipient (mail) */
char *force, /* force a particular room? */
- int mailtype, /* local or remote type */
+ int supplied_mailtype, /* local or remote type */
int generate_id) /* 1 = generate 'I' field */
{
char aaa[100];
static int seqnum = 1;
struct CtdlMessage *imsg;
char *instr;
+ int mailtype;
lprintf(9, "CtdlSaveMsg() called\n");
if (is_valid_message(msg) == 0) return(-1); /* self check */
+ mailtype = supplied_mailtype;
/* If this message has no timestamp, we take the liberty of
* giving it one, right now.
== hostalias_localhost) {
recipient[a] = 0;
lprintf(7, "Changed to <%s>\n", recipient);
+ mailtype = MES_LOCAL;
}
}
}
* is no local sender; it would otherwise go to the Trashcan).
*/
if ((!CC->internal_pgm) || (strlen(recipient) == 0)) {
- CtdlSaveMsgPointerInRoom(actual_rm, newmsgid, 0);
+ if (CtdlSaveMsgPointerInRoom(actual_rm, newmsgid, 0) != 0) {
+ lprintf(3, "ERROR saving message pointer!\n");
+ CtdlSaveMsgPointerInRoom(AIDEROOM, newmsgid, 0);
+ }
}
/* For internet mail, drop a copy in the outbound queue room */
MailboxName(actual_rm, &userbuf, MAILROOM);
CtdlSaveMsgPointerInRoom(actual_rm, newmsgid, 0);
}
+ else {
+ lprintf(9, "No user <%s>, saving in %s> instead\n",
+ recipient, AIDEROOM);
+ CtdlSaveMsgPointerInRoom(AIDEROOM, newmsgid, 0);
+ }
}
/* Perform "after save" hooks */