summaryrefslogtreecommitdiff
path: root/lib/soap
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-07-11 05:00:02 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-07-11 05:00:02 +0000
commit4bacdc1e46ab788f9285ccd8eccd2776260f9528 (patch)
treea603c9435fcf3c432ecc1389be508a3aaa7cd4ca /lib/soap
parentfd66442a1d8cec73a14601f8056b9fad238f92be (diff)
* bignum.c (bignorm): sizeof(long) may be smaller than
sizeof(VALUE). [ruby-dev:29013] * ruby.h (FIXNUM_MAX): fixnum may be bigger than long. * ruby.h (SIGNED_VALUE): signed integer of size of VALUE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/soap')
-rw-r--r--lib/soap/baseData.rb2
-rw-r--r--lib/soap/rpc/proxy.rb11
2 files changed, 9 insertions, 4 deletions
diff --git a/lib/soap/baseData.rb b/lib/soap/baseData.rb
index 0e8b00d450..72a6e0723d 100644
--- a/lib/soap/baseData.rb
+++ b/lib/soap/baseData.rb
@@ -788,7 +788,7 @@ public
if ele.is_a?(Array)
deep_map(ele, &block)
else
- new_obj = block.call(ele)
+ new_obj = yield(ele)
new_obj.elename = ITEM_NAME
new_obj
end
diff --git a/lib/soap/rpc/proxy.rb b/lib/soap/rpc/proxy.rb
index 7dfda62006..0797c70884 100644
--- a/lib/soap/rpc/proxy.rb
+++ b/lib/soap/rpc/proxy.rb
@@ -345,7 +345,12 @@ private
if @response_style == :rpc
response_rpc(body, mapping_registry, literal_mapping_registry, opt)
else
- response_doc(body, mapping_registry, literal_mapping_registry, opt)
+ ret = response_doc(body, mapping_registry, literal_mapping_registry, opt)
+ if ret.size == 1
+ ret[0]
+ else
+ ret
+ end
end
end
@@ -439,9 +444,9 @@ private
def response_doc(body, mapping_registry, literal_mapping_registry, opt)
if @response_use == :encoded
- return *response_doc_enc(body, mapping_registry, opt)
+ return response_doc_enc(body, mapping_registry, opt)
else
- return *response_doc_lit(body, literal_mapping_registry, opt)
+ return response_doc_lit(body, literal_mapping_registry, opt)
end
end