From 0ab59b8a6259846fdae982024b23106f5510d3f7 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 15 Apr 2004 14:21:55 +0000 Subject: * process.c (pst_success_p): new method Process::Status#success?. [ruby-dev:23385] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ process.c | 22 +++++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index f0e62c013..c4012c2e5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Apr 15 23:21:52 2004 Nobuyoshi Nakada + + * process.c (pst_success_p): new method Process::Status#success?. + [ruby-dev:23385] + Thu Apr 15 17:12:13 2004 Tanaka Akira * ext/gdbm/gdbm.c (Init_gdbm): define GDBM::READER, GDBM::WRITER, diff --git a/process.c b/process.c index bec82ae37..dc59ec14c 100644 --- a/process.c +++ b/process.c @@ -505,7 +505,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