receiver in messages wieder rueckgaengig (reports)

This commit is contained in:
Enno Rehling 2001-05-20 10:44:37 +00:00
parent df4efb853a
commit b575761264
2 changed files with 30 additions and 33 deletions

View file

@ -379,39 +379,37 @@ render_messages(FILE * F, faction * f, message_list *msgs)
{ {
struct mlist* m = msgs->begin; struct mlist* m = msgs->begin;
while (m) { while (m) {
if(m->msg->receiver == NULL || m->msg->receiver == f) { char crbuffer[1024*32]; /* gross, wegen spionage-messages :-( */
char crbuffer[1024*32]; /* gross, wegen spionage-messages :-( */ boolean printed = false;
boolean printed = false; const struct message_type * mtype = m->msg->type;
const struct message_type * mtype = m->msg->type; unsigned int hash = hashstring(mtype->name);
unsigned int hash = hashstring(mtype->name);
#if RENDER_CRMESSAGES #if RENDER_CRMESSAGES
char nrbuffer[1024*32]; char nrbuffer[1024*32];
nrbuffer[0] = '\0'; nrbuffer[0] = '\0';
if (nr_render(m->msg, f->locale, nrbuffer, f)==0 && nrbuffer[0]) { if (nr_render(m->msg, f->locale, nrbuffer, f)==0 && nrbuffer[0]) {
fprintf(F, "MESSAGE %d\n", ++msgno); fprintf(F, "MESSAGE %d\n", ++msgno);
fprintf(F, "%d;type\n", hash); fprintf(F, "%d;type\n", hash);
fputs("\"", F); fputs("\"", F);
fputs(nrbuffer, F); fputs(nrbuffer, F);
fputs("\";rendered\n", F); fputs("\";rendered\n", F);
printed = true; printed = true;
} }
#endif #endif
crbuffer[0] = '\0'; crbuffer[0] = '\0';
if (cr_render(m->msg, crbuffer, (const void*)f)==0 && crbuffer[0]) { if (cr_render(m->msg, crbuffer, (const void*)f)==0 && crbuffer[0]) {
if (!printed) fprintf(F, "MESSAGE %d\n", ++msgno); if (!printed) fprintf(F, "MESSAGE %d\n", ++msgno);
fputs(crbuffer, F); fputs(crbuffer, F);
} }
else log_error(("could not render cr-message %p\n", m->msg)); else log_error(("could not render cr-message %p\n", m->msg));
if (printed) { if (printed) {
unsigned int ihash = hash % MTMAXHASH; unsigned int ihash = hash % MTMAXHASH;
struct known_mtype * kmt = mtypehash[ihash]; struct known_mtype * kmt = mtypehash[ihash];
while (kmt && kmt->mtype != mtype) kmt = kmt->nexthash; while (kmt && kmt->mtype != mtype) kmt = kmt->nexthash;
if (kmt==NULL) { if (kmt==NULL) {
kmt = (struct known_mtype*)malloc(sizeof(struct known_mtype)); kmt = (struct known_mtype*)malloc(sizeof(struct known_mtype));
kmt->nexthash = mtypehash[ihash]; kmt->nexthash = mtypehash[ihash];
kmt->mtype = mtype; kmt->mtype = mtype;
mtypehash[ihash] = kmt; mtypehash[ihash] = kmt;
}
} }
} }
m = m->next; m = m->next;

View file

@ -752,8 +752,7 @@ rp_messages(FILE * F, message_list * msgs, faction * viewer, int indent, boolean
if (!debug && get_msglevel(viewer->warnings, viewer->msglevels, m->type) < m->level) continue; if (!debug && get_msglevel(viewer->warnings, viewer->msglevels, m->type) < m->level) continue;
#endif #endif
/* messagetype * mt = m->type; */ /* messagetype * mt = m->type; */
if (strcmp(nr_section(m->msg), category->name)==0 if (strcmp(nr_section(m->msg), category->name)==0)
&& (m->msg->receiver == NULL || m->msg->receiver == viewer))
{ {
char buf[4096], *s = buf; char buf[4096], *s = buf;
nr_render(m->msg, viewer->locale, s, viewer); nr_render(m->msg, viewer->locale, s, viewer);