diff options
Diffstat (limited to 'ruby/src/IceRuby/Slice.cpp')
-rw-r--r-- | ruby/src/IceRuby/Slice.cpp | 78 |
1 files changed, 39 insertions, 39 deletions
diff --git a/ruby/src/IceRuby/Slice.cpp b/ruby/src/IceRuby/Slice.cpp index 27ff4d465b0..2f4f8277b78 100644 --- a/ruby/src/IceRuby/Slice.cpp +++ b/ruby/src/IceRuby/Slice.cpp @@ -173,45 +173,45 @@ IceRuby_compile(int argc, VALUE* argv, VALUE self) } vector<string> argSeq; - if(!arrayToStringSeq(argv[0], argSeq)) - { - throw RubyException(rb_eTypeError, "argument is not an array"); - } - char** argv = new char*[argSeq.size()+1]; - // Manufacture a fake argv[0]. - argv[0] = const_cast<char*>("slice2rb"); - for(size_t i = 0; i < argSeq.size(); ++i) - { - argv[i+1] = const_cast<char*>(argSeq[i].c_str()); - } - - int rc; - try - { - rc = Slice::Ruby::compile(argSeq.size()+1, argv); - } - catch(const std::exception& ex) - { - getErrorStream() << argv[0] << ": error:" << ex.what() << endl; - rc = EXIT_FAILURE; - } - catch(const std::string& msg) - { - getErrorStream() << argv[0] << ": error:" << msg << endl; - rc = EXIT_FAILURE; - } - catch(const char* msg) - { - getErrorStream() << argv[0] << ": error:" << msg << endl; - rc = EXIT_FAILURE; - } - catch(...) - { - getErrorStream() << argv[0] << ": error:" << "unknown exception" << endl; - rc = EXIT_FAILURE; - } - - delete[] argv; + if(!arrayToStringSeq(argv[0], argSeq)) + { + throw RubyException(rb_eTypeError, "argument is not an array"); + } + char** argv = new char*[argSeq.size()+1]; + // Manufacture a fake argv[0]. + argv[0] = const_cast<char*>("slice2rb"); + for(size_t i = 0; i < argSeq.size(); ++i) + { + argv[i+1] = const_cast<char*>(argSeq[i].c_str()); + } + + int rc; + try + { + rc = Slice::Ruby::compile(argSeq.size()+1, argv); + } + catch(const std::exception& ex) + { + getErrorStream() << argv[0] << ": error:" << ex.what() << endl; + rc = EXIT_FAILURE; + } + catch(const std::string& msg) + { + getErrorStream() << argv[0] << ": error:" << msg << endl; + rc = EXIT_FAILURE; + } + catch(const char* msg) + { + getErrorStream() << argv[0] << ": error:" << msg << endl; + rc = EXIT_FAILURE; + } + catch(...) + { + getErrorStream() << argv[0] << ": error:" << "unknown exception" << endl; + rc = EXIT_FAILURE; + } + + delete[] argv; return INT2FIX(rc); } ICE_RUBY_CATCH |