]> git.pond.sub.org Git - empserver/commitdiff
Ensure the update's production report isn't split by bulletins
authorMarkus Armbruster <armbru@pond.sub.org>
Sun, 20 Nov 2011 17:26:43 +0000 (18:26 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Thu, 29 Dec 2011 10:47:06 +0000 (11:47 +0100)
During the update, wu() sends TEL_UPDATE telegrams ("Production
Report") instead of TEL_BULLETIN telegrams, but typed_wu() has no such
logic.  It's used by tele(), which doesn't run during the update, and
mpr(), which may, e.g. called from ship or mission code used by
autonav or sail.  This inserts bulletins in the middle of the
production report, splitting it apart.

Happens since mpr() was added in Empire 2.  Before, only tele() used
typed_wu() directly, and everything else wu().

Change mpr() to use wu().

src/lib/subs/pr.c

index 8f9bb0178b4b13a2320c2e8c5351d553f25cf3b1..86fd4bb55026c37bd63650e3375d254bf880f8fd 100644 (file)
@@ -482,7 +482,7 @@ mpr(int cn, char *format, ...)
     (void)vsprintf(buf, format, ap);
     va_end(ap);
     if (update_running || cn != player->cnum)
-       typed_wu(0, cn, buf, TEL_BULLETIN);
+       wu(0, cn, "%s", buf);
     else
        pr_player(player, C_DATA, buf);
 }