From fda2ecb9103373ab2d52b8675ad508768a9492c4 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Mon, 27 Jun 2016 21:34:42 +0200 Subject: [PATCH] news: Raise the limit for "number of times" from 127 to 65535 News reporting merges news items into recent items with same contents, until their count reaches 127. Raise that limit to 65535, by making struct nwsstr member nws_ntm unsigned short. Size of struct nwsstr stays the same on all common machines. Signed-off-by: Markus Armbruster --- include/news.h | 3 ++- src/lib/common/nsc.c | 2 +- src/lib/subs/nreport.c | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) 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;