diff options
author | Haru <haru@dotalux.com> | 2016-02-28 02:48:47 +0100 |
---|---|---|
committer | Haru <haru@dotalux.com> | 2016-04-30 15:57:50 +0200 |
commit | 89e0550e4dee7a5076f7b12d335468fd3bb4f26d (patch) | |
tree | e703a93cd87ed0b7522b3606bdcba576df439120 | |
parent | 7eb4ae4d1f846c1877d3650e4548cb0cb141a2d1 (diff) | |
download | hercules-89e0550e4dee7a5076f7b12d335468fd3bb4f26d.tar.gz hercules-89e0550e4dee7a5076f7b12d335468fd3bb4f26d.tar.bz2 hercules-89e0550e4dee7a5076f7b12d335468fd3bb4f26d.tar.xz hercules-89e0550e4dee7a5076f7b12d335468fd3bb4f26d.zip |
Added one level of indirection to all variables in pre-hook functions
- Previously, only scalar variables had their indirection level
increased. Now pointers do as well (this allows users to override
const pointers)
Signed-off-by: Haru <haru@dotalux.com>
-rw-r--r-- | src/plugins/sample.c | 5 | ||||
-rwxr-xr-x | tools/HPMHookGen/HPMHookGen.pl | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/plugins/sample.c b/src/plugins/sample.c index 991e03e4c..b1ff4b39f 100644 --- a/src/plugins/sample.c +++ b/src/plugins/sample.c @@ -114,9 +114,10 @@ void sample_packet0f3(int fd) { } int my_pc_dropitem_storage;/* storage var */ /* my custom prehook for pc_dropitem, checks if amount of item being dropped is higher than 1 and if so cap it to 1 and store the value of how much it was */ -int my_pc_dropitem_pre(struct map_session_data *sd,int *n,int *amount) { +int my_pc_dropitem_pre(struct map_session_data **sd, int *n, int *amount) +{ my_pc_dropitem_storage = 0; - if( *amount > 1 ) { + if (*amount > 1) { my_pc_dropitem_storage = *amount; *amount = 1; } diff --git a/tools/HPMHookGen/HPMHookGen.pl b/tools/HPMHookGen/HPMHookGen.pl index c357d0dbd..577536313 100755 --- a/tools/HPMHookGen/HPMHookGen.pl +++ b/tools/HPMHookGen/HPMHookGen.pl @@ -187,7 +187,7 @@ sub parse($$) { $post_code = "va_end(${callvar});"; $var = ''; $variadic = 1; - } elsif (!$indirectionlvl) { # Increase indirection level when necessary + } else { # Increase indirection level when necessary $dereference = '*'; $addressof = '&'; } |