From b3db09df79386f602b513e064f4e886f5ac6672d Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 15 Apr 2004 10:53:12 +0000 Subject: * process.c (pst_success_p): new method Process::Status#success?. [ruby-dev:23385] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- process.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'process.c') diff --git a/process.c b/process.c index d252c0fa89..4c15e67a2a 100644 --- a/process.c +++ b/process.c @@ -511,7 +511,27 @@ pst_wexitstatus(st) /* * call-seq: - * stat.coredump => true or false + * stat.success? => true, false or nil + * + * Returns +true+ if _stat_ is successful, +false+ if not. + * Returns +nil+ if exited? is not +true+. + */ + +static VALUE +pst_success_p(st) + VALUE st; +{ + int status = NUM2INT(st); + + if (!WIFEXITED(status)) + return Qnil; + return WEXITSTATUS(status) == EXIT_SUCCESS ? Qtrue : Qfalse; +} + + +/* + * call-seq: + * stat.coredump? => true or false * * Returns +true+ if _stat_ generated a coredump * when it terminated. Not available on all platforms. -- cgit v1.2.3