/*
* represent messages to the citadel clients
*
- * Copyright (c) 1987-2012 by the citadel.org team
+ * Copyright (c) 1987-2015 by the citadel.org team
*
* This program is open source software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3.
#include "internet_addressing.h"
#include "user_ops.h"
#include "room_ops.h"
+#include "config.h"
extern char *msgkeys[];
-
/*
* Back end for the MSGS command: output message number only.
*/
}
-
/*
* Back end for the MSGS command: output header summary.
*/
{
struct CtdlMessage *msg;
- msg = CtdlFetchMessage(msgnum, 0);
+ msg = CtdlFetchMessage(msgnum, 0, 1);
if (msg == NULL) {
cprintf("%ld|0|||||\n", msgnum);
return;
{
struct CtdlMessage *msg;
- msg = CtdlFetchMessage(msgnum, 0);
+ msg = CtdlFetchMessage(msgnum, 0, 1);
if (msg == NULL) {
cprintf("%ld||\n", msgnum);
return;
else
mode = MSGS_ALL;
- if ( (mode == MSGS_SEARCH) && (!config.c_enable_fulltext) ) {
+ if ( (mode == MSGS_SEARCH) && (!CtdlGetConfigInt("c_enable_fulltext")) ) {
cprintf("%d Full text index is not enabled on this server.\n",
ERROR + CMD_NOT_SUPPORTED);
return;
long tValueLen;
extract_token(tfield, buf, 0, '|', sizeof tfield);
tValueLen = extract_token(tvalue, buf, 1, '|', sizeof tvalue);
- for (i='A'; i<='Z'; ++i) if (msgkeys[i]!=NULL) {
- if (!strcasecmp(tfield, msgkeys[i])) {
- CM_SetField(template, i, tvalue, tValueLen);
- }
+ if (tValueLen >= 0) {
+ for (i='A'; i<='Z'; ++i) if (msgkeys[i]!=NULL) {
+ if (!strcasecmp(tfield, msgkeys[i])) {
+ CM_SetField(template, i, tvalue, tValueLen);
+ }
+ }
}
}
buffer_output();
}
msgnum = extract_long(cmdbuf, 0);
- msg = CtdlFetchMessage(msgnum, 1);
+ msg = CtdlFetchMessage(msgnum, 1, 1);
if (msg == NULL) {
cprintf("%d Message %ld not found.\n",
ERROR + MESSAGE_NOT_FOUND, msgnum);
}
free(all_recps);
- if ((valid != NULL) && (valid->num_room == 1))
+ if ((valid != NULL) && (valid->num_room == 1) && !IsEmptyStr(valid->recp_orgroom))
{
/* posting into an ML room? set the envelope from
* to the actual mail address so others get a valid