/*
* Empire - A multi-player, client/server Internet based war game.
- * Copyright (C) 1986-2008, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ * Copyright (C) 1986-2010, Dave Pare, Jeff Bailey, Thomas Ruschak,
* Ken Stevens, Steve McClure
*
* This program is free software; you can redistribute it and/or modify
* Known contributors to this file:
* Ken Stevens, 1995
* Steve McClure, 1998
- * Markus Armbruster, 2004-2008
+ * Markus Armbruster, 2004-2011
* Ron Koenderink, 2006
*/
}
}
if (!bitmap)
- bitmap = malloc(WORLD_SZ() / 8);
+ bitmap = malloc((WORLD_SZ() + 7) / 8);
if (!wmapbuf || !wmap || !bitmap) {
pr("Memory error, tell the deity.\n");
logerror("malloc failed in draw_map\n");
switch (bmap) {
default:
CANT_REACH();
- bmap = 'b';
/* fall through */
case 'b':
while (bmnxtsct(nsp) && !player->aborted) {
struct sctstr sect;
if (!player->god) {
- memset(bitmap, 0, WORLD_SZ() / 8);
+ memset(bitmap, 0, (WORLD_SZ() + 7) / 8);
bitinit2(nsp, bitmap, player->cnum);
}
while (nxtsct(nsp, §) && !player->aborted) {
int changed = 0;
if (!player->god) {
- memset(bitmap, 0, WORLD_SZ() / 8);
+ memset(bitmap, 0, (WORLD_SZ() + 7) / 8);
bitinit2(nsp, bitmap, player->cnum);
}
while (nxtsct(nsp, §) && !player->aborted) {
char todes;
char from_des = *from_name;
+ if (from == to)
+ return 0;
+
if (isalpha(from_des))
from_des &= ~0x20;