diff --git a/include/news.h b/include/news.h index 46c76e9a..9e8416a2 100644 --- a/include/news.h +++ b/include/news.h @@ -30,6 +30,7 @@ * Dave Pare * Thomas Ruschak * Steve McClure + * Markus Armbruster, 2004-2016 */ /* @@ -47,7 +48,7 @@ struct nwsstr { natid nws_ano; /* "actor" country # */ unsigned char nws_vrb; /* action (verb) */ natid nws_vno; /* "victim" country # */ - signed char nws_ntm; /* number of times */ + unsigned short nws_ntm; /* number of times */ short nws_duration; /* last time at nws_when + nws_duration */ time_t nws_when; /* time of action */ }; diff --git a/src/lib/common/nsc.c b/src/lib/common/nsc.c index 4f8662b9..507a8684 100644 --- a/src/lib/common/nsc.c +++ b/src/lib/common/nsc.c @@ -499,7 +499,7 @@ struct castr news_ca[] = { {"action", fldoff(nws_vrb), NSC_UCHAR, 0, NULL, EF_NEWS_CHR, 0, CA_DUMP}, {"victim", fldoff(nws_vno), NSC_NATID, 0, NULL, EF_NATION, 0, CA_DUMP}, - {"times", fldoff(nws_ntm), NSC_CHAR, 0, NULL, EF_BAD, 0, CA_DUMP}, + {"times", fldoff(nws_ntm), NSC_USHORT, 0, NULL, EF_BAD, 0, CA_DUMP}, {"duration", fldoff(nws_duration), NSC_SHORT, 0, NULL, EF_BAD, 0, CA_DUMP}, {"time", fldoff(nws_when), NSC_TIME, 0, NULL, EF_BAD, 0, CA_DUMP}, diff --git a/src/lib/subs/nreport.c b/src/lib/subs/nreport.c index 310ae705..1df7cbde 100644 --- a/src/lib/subs/nreport.c +++ b/src/lib/subs/nreport.c @@ -30,7 +30,7 @@ * Dave Pare, 1994 * Steve McClure, 1997 * Ron Koenderink, 2005 - * Markus Armbruster, 2004-2012 + * Markus Armbruster, 2004-2016 */ #include @@ -169,7 +169,7 @@ ncache(int actor, int event, int victim, int times) if (dur > minutes(5)) continue; if (np->news.nws_vrb == event && np->news.nws_vno == victim && - np->news.nws_ntm + times <= 127) { + np->news.nws_ntm + times <= 65535) { np->news.nws_ntm += times; np->news.nws_duration = dur; return np;