diff options
author | Paradox924X <Paradox924X@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2010-11-02 01:36:14 +0000 |
---|---|---|
committer | Paradox924X <Paradox924X@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2010-11-02 01:36:14 +0000 |
commit | e82b308d7ac09cbcaf178654d7005aa15e2ca5d5 (patch) | |
tree | 330ea7c90658af46a0848566c23775dd1444bbdf /src | |
parent | 856c8efb206d230d38b3ee27dc487db3f9affc7a (diff) | |
download | hercules-e82b308d7ac09cbcaf178654d7005aa15e2ca5d5.tar.gz hercules-e82b308d7ac09cbcaf178654d7005aa15e2ca5d5.tar.bz2 hercules-e82b308d7ac09cbcaf178654d7005aa15e2ca5d5.tar.xz hercules-e82b308d7ac09cbcaf178654d7005aa15e2ca5d5.zip |
Modified certain atcommands to use 64 bit arithmetic before capping a value to correct boundary logic for overflowing values.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/renewal@14436 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r-- | src/map/atcommand.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c index bed466f48..a6eb86163 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -2859,7 +2859,7 @@ int atcommand_statuspoint(const int fd, struct map_session_data* sd, const char* if (point < 0 && sd->status.status_point < -point) new_status_point = 0; else - new_status_point = cap_value(sd->status.status_point + point, 0, INT_MAX); + new_status_point = cap_value((int64)sd->status.status_point + point, 0, INT_MAX); if (new_status_point != (int)sd->status.status_point) { sd->status.status_point = new_status_point; @@ -2892,7 +2892,7 @@ int atcommand_skillpoint(const int fd, struct map_session_data* sd, const char* if (point < 0 && sd->status.skill_point < -point) new_skill_point = 0; else - new_skill_point = cap_value(sd->status.skill_point + point, 0, INT_MAX); + new_skill_point = cap_value((int64)sd->status.skill_point + point, 0, INT_MAX); if (new_skill_point != (int)sd->status.skill_point) { sd->status.skill_point = new_skill_point; @@ -2978,7 +2978,7 @@ int atcommand_param(const int fd, struct map_session_data* sd, const char* comma status[5] = &sd->status.luk; max = SHRT_MAX; - new_value = cap_value(*status[i] + value, 1, max); + new_value = cap_value((int64)*status[i] + value, 1, max); if (new_value != (int)*status[i]) { *status[i] = new_value; |