summaryrefslogtreecommitdiff
path: root/ext/POSIX
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2002-04-26 12:28:18 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2002-04-26 12:28:18 +0000
commitbfbc3223dbfd4106bf0b555e94e374284454bd3b (patch)
tree48f5d9523356e30578b6339f478f623b93158019 /ext/POSIX
parent2b36a5a0c487b5dc9b2abbd15a0708c83ccd908d (diff)
downloadperl-bfbc3223dbfd4106bf0b555e94e374284454bd3b.tar.gz
Use temp int variable in the W*() since direct casting
to either an int or an IV would not be right. p4raw-id: //depot/perl@16186
Diffstat (limited to 'ext/POSIX')
-rw-r--r--ext/POSIX/POSIX.xs18
1 files changed, 12 insertions, 6 deletions
diff --git a/ext/POSIX/POSIX.xs b/ext/POSIX/POSIX.xs
index bc0031e5e8..c92c389788 100644
--- a/ext/POSIX/POSIX.xs
+++ b/ext/POSIX/POSIX.xs
@@ -457,7 +457,8 @@ __END__
if (memEQ(name, "WSTOPSIG", 8)) {
/* ^ */
#ifdef WSTOPSIG
- *arg_result = WSTOPSIG(WMUNGE(*arg_result));
+ int i = *arg_result;
+ *arg_result = WSTOPSIG(WMUNGE(i));
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
@@ -468,7 +469,8 @@ __END__
if (memEQ(name, "WTERMSIG", 8)) {
/* ^ */
#ifdef WTERMSIG
- *arg_result = WTERMSIG(WMUNGE(*arg_result));
+ int i = *arg_result;
+ *arg_result = WTERMSIG(WMUNGE(i));
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
@@ -491,7 +493,8 @@ __END__
case 9:
if (memEQ(name, "WIFEXITED", 9)) {
#ifdef WIFEXITED
- *arg_result = WIFEXITED(WMUNGE(*arg_result));
+ int i = *arg_result;
+ *arg_result = WIFEXITED(WMUNGE(i));
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
@@ -501,7 +504,8 @@ __END__
case 10:
if (memEQ(name, "WIFSTOPPED", 10)) {
#ifdef WIFSTOPPED
- *arg_result = WIFSTOPPED(WMUNGE(*arg_result));
+ int i = *arg_result;
+ *arg_result = WIFSTOPPED(WMUNGE(i));
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
@@ -517,7 +521,8 @@ __END__
if (memEQ(name, "WEXITSTATUS", 11)) {
/* ^ */
#ifdef WEXITSTATUS
- *arg_result = WEXITSTATUS(WMUNGE((int) *arg_result));
+ int i = *arg_result;
+ *arg_result = WEXITSTATUS(WMUNGE(i));
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;
@@ -528,7 +533,8 @@ __END__
if (memEQ(name, "WIFSIGNALED", 11)) {
/* ^ */
#ifdef WIFSIGNALED
- *arg_result = WIFSIGNALED(WMUNGE(*arg_result));
+ int i = *arg_result;
+ *arg_result = WIFSIGNALED(WMUNGE(i));
return PERL_constant_ISIV;
#else
return PERL_constant_NOTDEF;