# Xmlrpc and 64bit systems

**URL:** <https://www.ruby-forum.com/t/xmlrpc-and-64bit-systems/136307>\
**Category:** Development\
**Created:** [April 30, 2008, 6:31pm UTC](https://www.ruby-forum.com/t/xmlrpc-and-64bit-systems/136307 "2008-04-30T18:31:03Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![NARUSES\_Yui](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/258eb7/32.png) [@NARUSES\_Yui](https://www.ruby-forum.com/u/NARUSES_Yui)\
**Post date:** [April 30, 2008, 6:31pm UTC](https://www.ruby-forum.com/t/xmlrpc-and-64bit-systems/136307/1 "2008-04-30T18:31:03Z")

</div>

e$B@.@%$G$9!#e(B

xmlrpc e$B$K$Oe(B 32bit  
e$B0J\>e$N@0?t$r;}$F$J$$$h$&$K$9$k@\_Dj$,$"$j$^$9!#e(B

config.rb  
# allows integers greater than 32-bit if true  
ENABLE\_BIGINT = false

e$B$7$+$7!"3:EvItJ,$N%3!\<%I$,0J2\<$N$h$&$K$J$C$F$$$k$N$G!"e(B  
64bit e$B4D6-$G$O4|BTDL$j$KF0:n$7$^$;$s!#e(B

when Fixnum  
@writer.tag(“i4”, param.to\_s)

when Bignum  
if Config::ENABLE\_BIGINT  
@writer.tag(“i4”, param.to\_s)  
else  
if param \>= -(2**31) and param \<= (2**31-1)  
@writer.tag(“i4”, param.to\_s)  
else  
raise “Bignum is too big! Must be signed 32-bit integer!”  
end  
end

e$B$3$N@\_Dj$rJ8;zDL$j!Ve(B32bit e$B0J\>e$G%(%i!\<!W$H$H$i$($k$J$i$P!"e(B  
e$B$3$l$O0J2\<$N%Q%C%A$G\<#$j$^$9!#e(B

— lib/xmlrpc/create.rb (revision 16245)  
+++ lib/xmlrpc/create.rb (working copy)  
@@ -178,10 +178,7 @@ module XMLRPC  
def conv2value(param)

```
    val = case param

```

- 

```
  when Fixnum

```

- 

```
    @writer.tag("i4", param.to_s)

```

- 
- 

```
  when Bignum

```

- 

```
  when Fixnum, Bignum
     if Config::ENABLE_BIGINT
       @writer.tag("i4", param.to_s)
     else

```

- 

e$B!Ve(B32bit e$B0J\>e!W$G$J$/!"e(BFixnum  
e$B$rD6$($k\>l9g$H9M$($k$HJQ$o$C$F$-$^$9$,!#e(B
