Browse Source

Fix #75873: pcntl_wexitstatus returns incorrect on Big_Endian platform (s390x)

Cf. https://github.com/php/php-src/pull/3141.
pull/3149/merge
Sam Ding 9 years ago
committed by Christoph M. Becker
parent
commit
78c1ef2adb
  1. 4
      NEWS
  2. 15
      ext/pcntl/pcntl.c

4
NEWS

@ -36,6 +36,10 @@ PHP NEWS
- OpenSSL:
. Fixed openssl_* arginfos. (carusogabriel)
- PCNTL:
. Fixed bug #75873 (pcntl_wexitstatus returns incorrect on Big_Endian platform
(s390x)). (Sam Ding)
- PGSQL:
. Fixed #75838 (Memory leak in pg_escape_bytea()). (ard_1 at mail dot ru)

15
ext/pcntl/pcntl.c

@ -761,9 +761,10 @@ PHP_FUNCTION(pcntl_wifexited)
return;
}
if (WIFEXITED(status_word))
if (WIFEXITED((int)status_word))
RETURN_TRUE;
#endif
RETURN_FALSE;
}
/* }}} */
@ -779,7 +780,7 @@ PHP_FUNCTION(pcntl_wifstopped)
return;
}
if (WIFSTOPPED(status_word))
if (WIFSTOPPED((int)status_word))
RETURN_TRUE;
#endif
RETURN_FALSE;
@ -797,7 +798,7 @@ PHP_FUNCTION(pcntl_wifsignaled)
return;
}
if (WIFSIGNALED(status_word))
if (WIFSIGNALED((int)status_word))
RETURN_TRUE;
#endif
RETURN_FALSE;
@ -814,7 +815,7 @@ PHP_FUNCTION(pcntl_wifcontinued)
return;
}
if (WIFCONTINUED(status_word))
if (WIFCONTINUED((int)status_word))
RETURN_TRUE;
#endif
RETURN_FALSE;
@ -833,7 +834,7 @@ PHP_FUNCTION(pcntl_wexitstatus)
return;
}
RETURN_LONG(WEXITSTATUS(status_word));
RETURN_LONG(WEXITSTATUS((int)status_word));
#else
RETURN_FALSE;
#endif
@ -851,7 +852,7 @@ PHP_FUNCTION(pcntl_wtermsig)
return;
}
RETURN_LONG(WTERMSIG(status_word));
RETURN_LONG(WTERMSIG((int)status_word));
#else
RETURN_FALSE;
#endif
@ -869,7 +870,7 @@ PHP_FUNCTION(pcntl_wstopsig)
return;
}
RETURN_LONG(WSTOPSIG(status_word));
RETURN_LONG(WSTOPSIG((int)status_word));
#else
RETURN_FALSE;
#endif

Loading…
Cancel
Save