+
+void xmpp_fetch_mortuary_backend(long msgnum, void *userdata) {
+ HashList *mortuary = (HashList *) userdata;
+ struct CtdlMessage *msg;
+ const char *ptr = NULL;
+ const char *endptr = NULL;
+ int in_body = 0;
+ char buf[256];
+
+ CtdlLogPrintf(CTDL_DEBUG, "\033[32m%d\033[0m\n", msgnum);
+ msg = CtdlFetchMessage(msgnum, 1);
+ if (msg == NULL) {
+ return;
+ }
+
+ /* now add anyone we find into the hashlist */
+
+ ptr = msg->cm_fields['M'];
+ endptr = ptr + strlen(ptr); // only do strlen once :)
+ while (ptr = memreadline(ptr, buf, (sizeof buf - 2)), ((ptr < endptr) && (*ptr != 0)) ) {
+ CtdlLogPrintf(CTDL_DEBUG, "%3d \033[31m%s\033[0m\n", in_body, buf);
+ if (in_body) {
+ Put(mortuary, buf, strlen(buf), buf, generic_free_handler);
+ }
+ if (IsEmptyStr(buf)) in_body = 1;
+ }
+
+ CtdlFreeMessage(msg);
+}
+
+
+