summaryrefslogtreecommitdiff
path: root/src/net/tmwa/beinghandler.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-10-11 14:48:19 +0300
committerAndrei Karas <akaras@inbox.ru>2013-10-11 15:24:57 +0300
commitf1b82c1b06604c2c1eed750a6c980aa0b5355560 (patch)
tree3e524583691af0e5a17e5ee974439b4c6ea07ef4 /src/net/tmwa/beinghandler.cpp
parent452f2489bf3225235797ea08ea0d466f80409a87 (diff)
downloadmanaplus-f1b82c1b06604c2c1eed750a6c980aa0b5355560.tar.gz
manaplus-f1b82c1b06604c2c1eed750a6c980aa0b5355560.tar.bz2
manaplus-f1b82c1b06604c2c1eed750a6c980aa0b5355560.tar.xz
manaplus-f1b82c1b06604c2c1eed750a6c980aa0b5355560.zip
First part of checks from Parasoft C++ Test.
Diffstat (limited to 'src/net/tmwa/beinghandler.cpp')
-rw-r--r--src/net/tmwa/beinghandler.cpp26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/net/tmwa/beinghandler.cpp b/src/net/tmwa/beinghandler.cpp
index b127517ea..0f668d162 100644
--- a/src/net/tmwa/beinghandler.cpp
+++ b/src/net/tmwa/beinghandler.cpp
@@ -667,22 +667,24 @@ void BeingHandler::processBeingMove3(Net::MessageIn &msg) const
int16_t y = msg.readInt16();
const unsigned char *moves = msg.readBytes(len);
Path path;
- for (int f = 0; f < len; f ++)
+ if (moves)
{
- const unsigned char dir = moves[f];
- if (dir <= 7)
+ for (int f = 0; f < len; f ++)
{
- x += dirx[dir];
- y += diry[dir];
- path.push_back(Position(x, y));
- }
- else
- {
- logger->log("bad move packet: %d", dir);
+ const unsigned char dir = moves[f];
+ if (dir <= 7)
+ {
+ x += dirx[dir];
+ y += diry[dir];
+ path.push_back(Position(x, y));
+ }
+ else
+ {
+ logger->log("bad move packet: %d", dir);
+ }
}
+ delete [] moves;
}
-
- delete [] moves;
dstBeing->setPath(path);
}