summaryrefslogtreecommitdiff
path: root/src/map/party.cpp
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2013-01-09 00:18:53 -0800
committerBen Longbons <b.r.longbons@gmail.com>2013-01-09 00:43:27 -0800
commitf0a87e4f7f5377498960429e96be5dff183c8326 (patch)
tree2661728f73f3c163e971d94cd123ef6e378264aa /src/map/party.cpp
parentf2fd4885c2a906414e0f36acf95d252e5a9d5805 (diff)
downloadtmwa-f0a87e4f7f5377498960429e96be5dff183c8326.tar.gz
tmwa-f0a87e4f7f5377498960429e96be5dff183c8326.tar.bz2
tmwa-f0a87e4f7f5377498960429e96be5dff183c8326.tar.xz
tmwa-f0a87e4f7f5377498960429e96be5dff183c8326.zip
Make incoming packets read-only
Diffstat (limited to 'src/map/party.cpp')
-rw-r--r--src/map/party.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/map/party.cpp b/src/map/party.cpp
index 9b9470c..98bb2be 100644
--- a/src/map/party.cpp
+++ b/src/map/party.cpp
@@ -145,7 +145,10 @@ int party_check_member(struct party *p)
if (strcmp(p->member[j].name, sd->status.name) == 0)
f = 0; // データがある
else
- p->member[j].sd = NULL; // 同垢別キャラだった
+ {
+ // I can prove it was already zeroed
+ // p->member[j].sd = NULL; // 同垢別キャラだった
+ }
}
}
if (f)
@@ -178,7 +181,7 @@ int party_recv_noinfo(int party_id)
}
// 情報所得
-int party_recv_info(struct party *sp)
+int party_recv_info(const struct party *sp)
{
struct party *p;
int i;
@@ -191,9 +194,11 @@ int party_recv_info(struct party *sp)
numdb_insert(party_db, sp->party_id, p);
// 最初のロードなのでユーザーのチェックを行う
- party_check_member(sp);
+ *p = *sp;
+ party_check_member(p);
}
- memcpy(p, sp, sizeof(struct party));
+ else
+ *p = *sp;
for (i = 0; i < MAX_PARTY; i++)
{ // sdの設定