# Size of st\_data\_t

**URL:** <https://www.ruby-forum.com/t/size-of-st-data-t/97597>\
**Category:** Development\
**Created:** [July 8, 2006, 6:19pm UTC](https://www.ruby-forum.com/t/size-of-st-data-t/97597 "2006-07-08T18:19:54Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![U.Nakamura](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/b5ac83/32.png) [@U.Nakamura](https://www.ruby-forum.com/u/U.Nakamura)\
**Post date:** [July 8, 2006, 6:19pm UTC](https://www.ruby-forum.com/t/size-of-st-data-t/97597/1 "2006-07-08T18:19:54Z")

</div>

e$B$3$s$K$A$O!"$J$+$`$ie(B(e$B$&e(B)e$B$G$9!#e(B

st.he$B$NCf$K!“e(B  
typedef unsigned long st\_data\_t;  
e$B$H$$$&5-=R$,$”$j$^$9$,!“e(Brubye$BK\BN$N%3!\<%I$K$Oe(Bst\_data\_te$B$,e(BVALUE  
e$B$HF1$8Bg$-$5$G$”$k$3$H$r4|BT$9$k5-=R$,B??t$"$j$^$9!#e(B

e$B$7$+$7!"@$$NCf$K$Oe(BVALUEe$B$,e(Bunsigned  
longe$B$G$O$J$$4D6-$b$"$C$F!"e(B  
e$B$3$l$,860x$GF0:n$5$;$k$3$H$,$G$-$^$;$s!#e(B  
e$B$I$&$7$?$b$N$G$7$g$&e(B?

e$B$=$l$G$O!#e(B

---

<div class="post-metadata">

**Author:** ![U.Nakamura](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/b5ac83/32.png) [@U.Nakamura](https://www.ruby-forum.com/u/U.Nakamura)\
**Post date:** [July 8, 2006, 6:41pm UTC](https://www.ruby-forum.com/t/size-of-st-data-t/97597/2 "2006-07-08T18:41:02Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:28988] size of st\_data\_t”  
on Sun, 9 Jul 2006 00:45:31 +0900, “U.Nakamura”  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

|st.he$B$NCf$K!“e(B  
| typedef unsigned long st\_data\_t;  
|e$B$H$$$&5-=R$,$”$j$^$9$,!“e(Brubye$BK\BN$N%3!\<%I$K$Oe(Bst\_data\_te$B$,e(BVALUE  
|e$B$HF1$8Bg$-$5$G$”$k$3$H$r4|BT$9$k5-=R$,B??t$“$j$^$9!#e(B  
|  
|e$B$7$+$7!”@$$NCf$K$Oe(BVALUEe$B$,e(Bunsigned longe$B$G$O$J$$4D6-$b$"$C$F!"e(B  
|e$B$3$l$,860x$GF0:n$5$;$k$3$H$,$G$-$^$;$s!#e(B  
|e$B$I$&$7$?$b$N$G$7$g$&e(B?

e$B0lHV4JC1$J$N$Oe(Bst\_data\_te$B$re(Bvoid\*e$B$K$7$F$7$^$&$3$H$J$s$G$9$,!“Bge(B  
e$BNL$Ne(Bwarninge$B$,=P$k$3$H$K$J$j$^$9$M$(!#%]%$%s%?$HF1$8%5%$%:$Ne(B  
e$B@0?t$r%]!\<%?%V%k$KF@$kJ}K!$,$”$l$P4JC1$J$N$G$9$,!#e(B

# C99e$B$“$?$j$J$i$”$j$=$&!)e(B

---

<div class="post-metadata">

**Author:** ![U.Nakamura](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/b5ac83/32.png) [@U.Nakamura](https://www.ruby-forum.com/u/U.Nakamura)\
**Post date:** [July 8, 2006, 6:47pm UTC](https://www.ruby-forum.com/t/size-of-st-data-t/97597/3 "2006-07-08T18:47:38Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:28989] Re: size of st\_data\_t”  
on Sun, 9 Jul 2006 01:38:24 +0900, Yukihiro M.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

|e$B0lHV4JC1$J$N$Oe(Bst\_data\_te$B$re(Bvoid\*e$B$K$7$F$7$^$&$3$H$J$s$G$9$,!“Bge(B  
|e$BNL$Ne(Bwarninge$B$,=P$k$3$H$K$J$j$^$9$M$(!#%]%$%s%?$HF1$8%5%$%:$Ne(B  
|e$B@0?t$r%]!\<%?%V%k$KF@$kJ}K!$,$”$l$P4JC1$J$N$G$9$,!#e(B  
|  
|# C99e$B$“$?$j$J$i$”$j$=$&!)e(B

e$B7k6I!"$3$s$J46$8$G$I$&$G$7$g$&!#e(B

— st.h 14 Sep 2005 06:32:32 -0000 1.15  
+++ st.h 8 Jul 2006 16:46:50 -0000  
@@ -8,3 +8,10 @@

+#if SIZEOF\_LONG == SIZEOF\_VOIDP  
typedef unsigned long st\_data\_t;  
+#elif SIZEOF\_LONG\_LONG == SIZEOF\_VOIDP  
+typedef unsigned LONG\_LONG st\_data\_t;  
+#else  
+# error ----\>\> st.c requires sizeof(void\*) == sizeof(long) to be  
compiled. \<\<—  
±  
+#endif  
#define ST\_DATA\_T\_DEFINED

---

<div class="post-metadata">

**Author:** ![U.Nakamura](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/b5ac83/32.png) [@U.Nakamura](https://www.ruby-forum.com/u/U.Nakamura)\
**Post date:** [July 9, 2006, 10:06pm UTC](https://www.ruby-forum.com/t/size-of-st-data-t/97597/4 "2006-07-09T22:06:57Z")

</div>

e$B$3$s$K$A$O!"$J$+$`$ie(B(e$B$&e(B)e$B$G$9!#e(B

In message “[ruby-dev:28990] Re: size of st\_data\_t”  
on Jul.09,2006 01:47:02, [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:  
| e$B7k6I!"$3$s$J46$8$G$I$&$G$7$g$&!#e(B

e$B$b$A$m$s!"$=$l$G$$$$$H;W$&$s$G$9$,!"e(Bst.[ch]e$B$,e(Brubye$BK\BN$N%3!\<%Ie(B  
e$B$K0MB8$9$k$3$H$rHr$1$F$k$s$8$c$J$+$C$?$G$7$?$C$1e(B?

e$BKNIt$5$s$,=q$$$F$\*$i$l$k$h$&$Ke(Bintptr\_te$B$,;H$($l$P$$$$$s$G$9$,!"e(B  
C89(C90)e$B$K$O$J$$$s$G$9$h$M$(!#e(B

e$B$=$l$G$O!#e(B

---

<div class="post-metadata">

**Author:** ![U.Nakamura](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/b5ac83/32.png) [@U.Nakamura](https://www.ruby-forum.com/u/U.Nakamura)\
**Post date:** [July 8, 2006, 8:06pm UTC](https://www.ruby-forum.com/t/size-of-st-data-t/97597/5 "2006-07-08T20:06:27Z")

</div>

e$BKNIt$G$9e(B

Yukihiro M. wrote:

> # C99e$B$"$?$j$J$i$"$j$=$&!)e(B

C99e$B$J$ie(Bintptr\_te$B$r;H$($P$h$$$G$7$g$&e(B(e$B%5%$%:$,F1$8$H$O7h$^$C$F$^$;$s$,!"$=e(B  
e$B$NE@$OLdBj$G$O$J$$$H;W$$$^$9e(B)e$B!#e(B

---

<div class="post-metadata">

**Author:** ![U.Nakamura](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/b5ac83/32.png) [@U.Nakamura](https://www.ruby-forum.com/u/U.Nakamura)\
**Post date:** [July 10, 2006, 1:21am UTC](https://www.ruby-forum.com/t/size-of-st-data-t/97597/6 "2006-07-10T01:21:44Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:28992] Re: size of st\_data\_t”  
on Mon, 10 Jul 2006 05:04:51 +0900, “U.Nakamura”  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

|| e$B7k6I!“$3$s$J46$8$G$I$&$G$7$g$&!#e(B  
|  
|e$B$b$A$m$s!”$=$l$G$$$$$H;W$&$s$G$9$,!"e(Bst.[ch]e$B$,e(Brubye$BK\BN$N%3!\<%Ie(B  
|e$B$K0MB8$9$k$3$H$rHr$1$F$k$s$8$c$J$+$C$?$G$7$?$C$1e(B?

e$B$=$&$J$s$G$9$h!#$H$O$$$(!"LdBj$N=EMW$5$r9M$($k$H\>/$J$/$H$be(B  
config.he$B$K$OMj$i$6$k$r$($J$$5$$,$7$^$9!#e(B

|e$BKNIt$5$s$,=q$$$F$\*$i$l$k$h$&$Ke(Bintptr\_te$B$,;H$($l$P$$$$$s$G$9$,!"e(B  
|C89(C90)e$B$K$O$J$$$s$G$9$h$M$(!#e(B

e$B$3$l$K$7$?$C$F!“e(B\<stdint.h\>e$B$de(B\<inttypes.h\>e$B$,$”$k$+$I$&$+%A%'%Ce(B  
e$B%/$9$kI,MW$,$"$j$^$9$+$i$M$(!#e(B

---

<div class="post-metadata">

**Author:** ![U.Nakamura](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/b5ac83/32.png) [@U.Nakamura](https://www.ruby-forum.com/u/U.Nakamura)\
**Post date:** [July 10, 2006, 2:35am UTC](https://www.ruby-forum.com/t/size-of-st-data-t/97597/7 "2006-07-10T02:35:19Z")

</div>

e$B$J$+$@$G$9!#e(B

At Mon, 10 Jul 2006 08:20:20 +0900,  
Yukihiro M. wrote in [ruby-dev:28993]:

> || e$B7k6I!"$3$s$J46$8$G$I$&$G$7$g$&!#e(B  
> |  
> |e$B$b$A$m$s!"$=$l$G$$$$$H;W$&$s$G$9$,!"e(Bst.[ch]e$B$,e(Brubye$BK\BN$N%3!\<%Ie(B  
> |e$B$K0MB8$9$k$3$H$rHr$1$F$k$s$8$c$J$+$C$?$G$7$?$C$1e(B?
> 
> e$B$=$&$J$s$G$9$h!#$H$O$$$(!"LdBj$N=EMW$5$r9M$($k$H\>/$J$/$H$be(B  
> config.he$B$K$OMj$i$6$k$r$($J$$5$$,$7$^$9!#e(B

SIZEOF\_LONGe$B$be(BSIZEOF\_VOIDPe$B$bDj5A$5$l$F$$$J$1$l$P8=\>u$N$^$^$K$J$ke(B  
e$B$O$:$J$N$G!"e(Bconfig.he$B$,$J$/$F$bDL$k$H$$$&$3$H$G$$$$$s$8$c$J$$$Ge(B  
e$B$7$g$&$+!#e(B

---

<div class="post-metadata">

**Author:** ![U.Nakamura](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/b5ac83/32.png) [@U.Nakamura](https://www.ruby-forum.com/u/U.Nakamura)\
**Post date:** [July 10, 2006, 11:34pm UTC](https://www.ruby-forum.com/t/size-of-st-data-t/97597/8 "2006-07-10T23:34:39Z")

</div>

e$B$3$s$K$A$O!"$J$+$`$ie(B(e$B$&e(B)e$B$G$9!#e(B

In message “[ruby-dev:28993] Re: size of st\_data\_t”  
on Jul.10,2006 08:20:20, [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:  
| e$B$=$&$J$s$G$9$h!#$H$O$$$(!"LdBj$N=EMW$5$r9M$($k$H\>/$J$/$H$be(B  
| config.he$B$K$OMj$i$6$k$r$($J$$5$$,$7$^$9!#e(B

e$B$H$$$&$o$1$G!"F~$C$?$N$G;n$7$F$\_$?$H$3$m!“e(Bconfig.he$B$@$1$G$OB-e(B  
e$B$j$F$^$;$s$G$7$?!#e(B  
LONG\_LONGe$B$NDj5A$,$”$k$N$Oe(Bdefines.he$B$J$N$G!"e(Bst.ce$B$G$Oe(Bdefines.he$B$be(B  
e$BI,MW$K$J$j$^$9!#$&!\<$s!#e(B

e$B$“$H!“e(Bintern.he$B$K$”$ke(Bst\_foreach\_safee$B$N@k8@$,e(Bhash.ce$B$K$”$kDj5A$He(B  
e$B?)$$0c$&$3$H$K$J$k$N$G!"$3$l$^$?BP=h$,I,MW$K$J$j$^$9!#e(B

e$B$H$$$&$o$1$G!“%Q%C%A$J$s$G$9$,!”$3$l$G$$$$$b$N$d$i!#e(B

# Index: intern.h

RCS file: /home/cvs/ruby/intern.h,v  
retrieving revision 1.195  
diff -u -1 -p -r1.195 intern.h  
— intern.h 9 Jun 2006 21:20:12 -0000 1.195  
+++ intern.h 10 Jul 2006 21:30:32 -0000  
@@ -22,2 +22,3 @@  
#endif  
+#include \<st.h\>

# @@ -316,3 +317,3 @@ VALUE rb\_gc\_start(void); /\* hash.c _/ -void st\_foreach\_safe(struct st\_table , int ()(ANYARGS), unsigned long); +void st\_foreach\_safe(struct st\_table , int ()(ANYARGS), st\_data\_t); void rb\_hash\_foreach(VALUE, int (_)(ANYARGS), VALUE); Index: st.c

RCS file: /home/cvs/ruby/st.c,v  
retrieving revision 1.41  
diff -u -1 -p -r1.41 st.c  
— st.c 3 Jul 2006 20:07:09 -0000 1.41  
+++ st.c 10 Jul 2006 21:30:32 -0000  
@@ -14,2 +14,3 @@  
#endif  
+#include “defines.h”

e$B$=$l$G$O!#e(B
