1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

*** empty log message ***

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 1998-03-03 02:39:35 +00:00
parent 6bb525282c
commit 0861165bdc
11 changed files with 711 additions and 707 deletions

View file

@ -1,3 +1,17 @@
Tue Mar 3 11:21:28 1998 Yukihiro Matsumoto <matz@netlab.co.jp>
* eval.c (thread_stop): stopping only thread raises ThreadError
exception.
Tue Mar 3 08:04:56 1998 Tadayoshi Funaba <tadf@kt.rim.or.jp>
* struct.c (struct_alloc): imcomplete struct initialization made
GC to access unallocated addresses.
Mon Mar 2 16:28:27 1998 Yukihiro Matsumoto <matz@netlab.co.jp>
* eval.c (thread_stop_method): remove Thread#stop.
Fri Feb 27 18:16:26 1998 Yukihiro Matsumoto <matz@netlab.co.jp> Fri Feb 27 18:16:26 1998 Yukihiro Matsumoto <matz@netlab.co.jp>
* version 1.1b9 released. * version 1.1b9 released.

View file

@ -104,6 +104,7 @@ lib/mailread.rb
lib/mathn.rb lib/mathn.rb
lib/matrix.rb lib/matrix.rb
lib/mkmf.rb lib/mkmf.rb
lib/monitor.rb
lib/mutex_m.rb lib/mutex_m.rb
lib/observer.rb lib/observer.rb
lib/ostruct.rb lib/ostruct.rb
@ -133,6 +134,7 @@ missing/dir.h
missing/dup2.c missing/dup2.c
missing/file.h missing/file.h
missing/flock.c missing/flock.c
missing/memcmp.c
missing/memmove.c missing/memmove.c
missing/mkdir.c missing/mkdir.c
missing/nt.c missing/nt.c

186
configure vendored
View file

@ -2516,16 +2516,52 @@ EOF
fi fi
echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
echo "configure:2521: checking for 8-bit clean memcmp" >&5
if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
ac_cv_func_memcmp_clean=no
else
cat > conftest.$ac_ext <<EOF
#line 2529 "configure"
#include "confdefs.h"
main()
{
char c0 = 0x40, c1 = 0x80, c2 = 0x81;
exit(memcmp(&c0, &c2, 1) < 0 && memcmp(&c1, &c2, 1) < 0 ? 0 : 1);
}
EOF
if { (eval echo configure:2539: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
ac_cv_func_memcmp_clean=yes
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
ac_cv_func_memcmp_clean=no
fi
rm -fr conftest*
fi
fi
echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6
test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.o"
for ac_func in dup2 setenv memmove mkdir strcasecmp strerror strftime\ for ac_func in dup2 setenv memmove mkdir strcasecmp strerror strftime\
strstr strtoul strdup crypt flock strstr strtoul strdup crypt flock
do do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:2524: checking for $ac_func" >&5 echo "configure:2560: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2529 "configure" #line 2565 "configure"
#include "confdefs.h" #include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes, /* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */ which can conflict with char $ac_func(); below. */
@ -2548,7 +2584,7 @@ $ac_func();
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:2552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then if { (eval echo configure:2588: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_func_$ac_func=yes" eval "ac_cv_func_$ac_func=yes"
else else
@ -2581,12 +2617,12 @@ for ac_func in fmod killpg random wait4 waitpid syscall getcwd\
dlopen sigprocmask sigaction _setjmp dlopen sigprocmask sigaction _setjmp
do do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:2585: checking for $ac_func" >&5 echo "configure:2621: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2590 "configure" #line 2626 "configure"
#include "confdefs.h" #include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes, /* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */ which can conflict with char $ac_func(); below. */
@ -2609,7 +2645,7 @@ $ac_func();
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:2613: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then if { (eval echo configure:2649: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_func_$ac_func=yes" eval "ac_cv_func_$ac_func=yes"
else else
@ -2635,12 +2671,12 @@ done
if test "$ac_cv_func_strftime" = no; then if test "$ac_cv_func_strftime" = no; then
echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6 echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
echo "configure:2639: checking whether struct tm is in sys/time.h or time.h" >&5 echo "configure:2675: checking whether struct tm is in sys/time.h or time.h" >&5
if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2644 "configure" #line 2680 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <sys/types.h> #include <sys/types.h>
#include <time.h> #include <time.h>
@ -2648,7 +2684,7 @@ int main() {
struct tm *tp; tp->tm_sec; struct tm *tp; tp->tm_sec;
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:2652: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if { (eval echo configure:2688: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest* rm -rf conftest*
ac_cv_struct_tm=time.h ac_cv_struct_tm=time.h
else else
@ -2669,12 +2705,12 @@ EOF
fi fi
echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6 echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6
echo "configure:2673: checking for tm_zone in struct tm" >&5 echo "configure:2709: checking for tm_zone in struct tm" >&5
if eval "test \"`echo '$''{'ac_cv_struct_tm_zone'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_struct_tm_zone'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2678 "configure" #line 2714 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <sys/types.h> #include <sys/types.h>
#include <$ac_cv_struct_tm> #include <$ac_cv_struct_tm>
@ -2682,7 +2718,7 @@ int main() {
struct tm tm; tm.tm_zone; struct tm tm; tm.tm_zone;
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:2686: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if { (eval echo configure:2722: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest* rm -rf conftest*
ac_cv_struct_tm_zone=yes ac_cv_struct_tm_zone=yes
else else
@ -2702,12 +2738,12 @@ EOF
else else
echo $ac_n "checking for tzname""... $ac_c" 1>&6 echo $ac_n "checking for tzname""... $ac_c" 1>&6
echo "configure:2706: checking for tzname" >&5 echo "configure:2742: checking for tzname" >&5
if eval "test \"`echo '$''{'ac_cv_var_tzname'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_var_tzname'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2711 "configure" #line 2747 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <time.h> #include <time.h>
#ifndef tzname /* For SGI. */ #ifndef tzname /* For SGI. */
@ -2717,7 +2753,7 @@ int main() {
atoi(*tzname); atoi(*tzname);
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:2721: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then if { (eval echo configure:2757: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest* rm -rf conftest*
ac_cv_var_tzname=yes ac_cv_var_tzname=yes
else else
@ -2739,14 +2775,14 @@ EOF
fi fi
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2743 "configure" #line 2779 "configure"
#include "confdefs.h" #include "confdefs.h"
int main() { int main() {
extern int daylight; int i = daylight; extern int daylight; int i = daylight;
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:2750: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then if { (eval echo configure:2786: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest* rm -rf conftest*
cat >> confdefs.h <<\EOF cat >> confdefs.h <<\EOF
#define HAVE_DAYLIGHT 1 #define HAVE_DAYLIGHT 1
@ -2766,7 +2802,7 @@ EOF
else else
echo $ac_n "checking for BSD signal semantics""... $ac_c" 1>&6 echo $ac_n "checking for BSD signal semantics""... $ac_c" 1>&6
echo "configure:2770: checking for BSD signal semantics" >&5 echo "configure:2806: checking for BSD signal semantics" >&5
if eval "test \"`echo '$''{'rb_cv_bsd_signal'+set}'`\" = set"; then if eval "test \"`echo '$''{'rb_cv_bsd_signal'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
@ -2774,7 +2810,7 @@ else
{ echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2778 "configure" #line 2814 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <stdio.h> #include <stdio.h>
@ -2796,7 +2832,7 @@ main()
} }
EOF EOF
if { (eval echo configure:2800: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null if { (eval echo configure:2836: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then then
rb_cv_bsd_signal=yes rb_cv_bsd_signal=yes
else else
@ -2830,19 +2866,19 @@ EOF
else else
echo $ac_n "checking whether getpgrp() has arg""... $ac_c" 1>&6 echo $ac_n "checking whether getpgrp() has arg""... $ac_c" 1>&6
echo "configure:2834: checking whether getpgrp() has arg" >&5 echo "configure:2870: checking whether getpgrp() has arg" >&5
if eval "test \"`echo '$''{'rb_cv_bsdgetpgrp'+set}'`\" = set"; then if eval "test \"`echo '$''{'rb_cv_bsdgetpgrp'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2839 "configure" #line 2875 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <unistd.h> #include <unistd.h>
int main() { int main() {
getpgrp(0); getpgrp(0);
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:2846: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if { (eval echo configure:2882: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest* rm -rf conftest*
rb_cv_bsdgetpgrp=yes rb_cv_bsdgetpgrp=yes
else else
@ -2863,19 +2899,19 @@ EOF
fi fi
echo $ac_n "checking whether setpgrp() has args""... $ac_c" 1>&6 echo $ac_n "checking whether setpgrp() has args""... $ac_c" 1>&6
echo "configure:2867: checking whether setpgrp() has args" >&5 echo "configure:2903: checking whether setpgrp() has args" >&5
if eval "test \"`echo '$''{'rb_cv_bsdsetpgrp'+set}'`\" = set"; then if eval "test \"`echo '$''{'rb_cv_bsdsetpgrp'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2872 "configure" #line 2908 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <unistd.h> #include <unistd.h>
int main() { int main() {
setpgrp(1, 1); setpgrp(1, 1);
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:2879: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if { (eval echo configure:2915: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest* rm -rf conftest*
rb_cv_bsdsetpgrp=yes rb_cv_bsdsetpgrp=yes
else else
@ -2897,14 +2933,14 @@ EOF
fi fi
echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
echo "configure:2901: checking whether byte ordering is bigendian" >&5 echo "configure:2937: checking whether byte ordering is bigendian" >&5
if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
ac_cv_c_bigendian=unknown ac_cv_c_bigendian=unknown
# See if sys/param.h defines the BYTE_ORDER macro. # See if sys/param.h defines the BYTE_ORDER macro.
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2908 "configure" #line 2944 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <sys/types.h> #include <sys/types.h>
#include <sys/param.h> #include <sys/param.h>
@ -2915,11 +2951,11 @@ int main() {
#endif #endif
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:2919: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if { (eval echo configure:2955: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest* rm -rf conftest*
# It does; now see whether it defined to BIG_ENDIAN or not. # It does; now see whether it defined to BIG_ENDIAN or not.
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2923 "configure" #line 2959 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <sys/types.h> #include <sys/types.h>
#include <sys/param.h> #include <sys/param.h>
@ -2930,7 +2966,7 @@ int main() {
#endif #endif
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:2934: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if { (eval echo configure:2970: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest* rm -rf conftest*
ac_cv_c_bigendian=yes ac_cv_c_bigendian=yes
else else
@ -2950,7 +2986,7 @@ if test "$cross_compiling" = yes; then
{ echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2954 "configure" #line 2990 "configure"
#include "confdefs.h" #include "confdefs.h"
main () { main () {
/* Are we little or big endian? From Harbison&Steele. */ /* Are we little or big endian? From Harbison&Steele. */
@ -2963,7 +2999,7 @@ main () {
exit (u.c[sizeof (long) - 1] == 1); exit (u.c[sizeof (long) - 1] == 1);
} }
EOF EOF
if { (eval echo configure:2967: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null if { (eval echo configure:3003: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then then
ac_cv_c_bigendian=no ac_cv_c_bigendian=no
else else
@ -2987,14 +3023,14 @@ EOF
fi fi
echo $ac_n "checking whether char is unsigned""... $ac_c" 1>&6 echo $ac_n "checking whether char is unsigned""... $ac_c" 1>&6
echo "configure:2991: checking whether char is unsigned" >&5 echo "configure:3027: checking whether char is unsigned" >&5
if eval "test \"`echo '$''{'ac_cv_c_char_unsigned'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_c_char_unsigned'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
if test "$GCC" = yes; then if test "$GCC" = yes; then
# GCC predefines this symbol on systems where it applies. # GCC predefines this symbol on systems where it applies.
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2998 "configure" #line 3034 "configure"
#include "confdefs.h" #include "confdefs.h"
#ifdef __CHAR_UNSIGNED__ #ifdef __CHAR_UNSIGNED__
yes yes
@ -3016,7 +3052,7 @@ if test "$cross_compiling" = yes; then
{ echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3020 "configure" #line 3056 "configure"
#include "confdefs.h" #include "confdefs.h"
/* volatile prevents gcc2 from optimizing the test away on sparcs. */ /* volatile prevents gcc2 from optimizing the test away on sparcs. */
#if !defined(__STDC__) || __STDC__ != 1 #if !defined(__STDC__) || __STDC__ != 1
@ -3026,7 +3062,7 @@ main() {
volatile char c = 255; exit(c < 0); volatile char c = 255; exit(c < 0);
} }
EOF EOF
if { (eval echo configure:3030: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null if { (eval echo configure:3066: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then then
ac_cv_c_char_unsigned=yes ac_cv_c_char_unsigned=yes
else else
@ -3051,19 +3087,19 @@ fi
echo $ac_n "checking count field in FILE structures""... $ac_c" 1>&6 echo $ac_n "checking count field in FILE structures""... $ac_c" 1>&6
echo "configure:3055: checking count field in FILE structures" >&5 echo "configure:3091: checking count field in FILE structures" >&5
if eval "test \"`echo '$''{'rb_cv_fcnt'+set}'`\" = set"; then if eval "test \"`echo '$''{'rb_cv_fcnt'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3060 "configure" #line 3096 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <stdio.h> #include <stdio.h>
int main() { int main() {
FILE *f = stdin; f->_cnt = 0; FILE *f = stdin; f->_cnt = 0;
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:3067: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if { (eval echo configure:3103: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest* rm -rf conftest*
rb_cv_fcnt="_cnt" rb_cv_fcnt="_cnt"
else else
@ -3073,14 +3109,14 @@ fi
rm -f conftest* rm -f conftest*
if test "$rb_cv_fcnt" = ""; then if test "$rb_cv_fcnt" = ""; then
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3077 "configure" #line 3113 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <stdio.h> #include <stdio.h>
int main() { int main() {
FILE *f = stdin; f->__cnt = 0; FILE *f = stdin; f->__cnt = 0;
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:3084: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if { (eval echo configure:3120: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest* rm -rf conftest*
rb_cv_fcnt="__cnt" rb_cv_fcnt="__cnt"
else else
@ -3091,14 +3127,14 @@ rm -f conftest*
fi fi
if test "$rb_cv_fcnt" = ""; then if test "$rb_cv_fcnt" = ""; then
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3095 "configure" #line 3131 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <stdio.h> #include <stdio.h>
int main() { int main() {
FILE *f = stdin; f->_r = 0; FILE *f = stdin; f->_r = 0;
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:3102: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if { (eval echo configure:3138: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest* rm -rf conftest*
rb_cv_fcnt="_r" rb_cv_fcnt="_r"
else else
@ -3109,14 +3145,14 @@ rm -f conftest*
fi fi
if test "$rb_cv_fcnt" = ""; then if test "$rb_cv_fcnt" = ""; then
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3113 "configure" #line 3149 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <stdio.h> #include <stdio.h>
int main() { int main() {
FILE *f = stdin; f->readCount = 0; FILE *f = stdin; f->readCount = 0;
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:3120: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if { (eval echo configure:3156: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest* rm -rf conftest*
rb_cv_fcnt="readCount" rb_cv_fcnt="readCount"
else else
@ -3141,9 +3177,9 @@ fi
if test "$ac_cv_func_getpwent" = yes; then if test "$ac_cv_func_getpwent" = yes; then
echo $ac_n "checking struct passwd""... $ac_c" 1>&6 echo $ac_n "checking struct passwd""... $ac_c" 1>&6
echo "configure:3145: checking struct passwd" >&5 echo "configure:3181: checking struct passwd" >&5
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3147 "configure" #line 3183 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <pwd.h> #include <pwd.h>
EOF EOF
@ -3158,7 +3194,7 @@ fi
rm -f conftest* rm -f conftest*
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3162 "configure" #line 3198 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <pwd.h> #include <pwd.h>
EOF EOF
@ -3173,7 +3209,7 @@ fi
rm -f conftest* rm -f conftest*
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3177 "configure" #line 3213 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <pwd.h> #include <pwd.h>
EOF EOF
@ -3188,7 +3224,7 @@ fi
rm -f conftest* rm -f conftest*
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3192 "configure" #line 3228 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <pwd.h> #include <pwd.h>
EOF EOF
@ -3203,7 +3239,7 @@ fi
rm -f conftest* rm -f conftest*
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3207 "configure" #line 3243 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <pwd.h> #include <pwd.h>
EOF EOF
@ -3218,7 +3254,7 @@ fi
rm -f conftest* rm -f conftest*
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3222 "configure" #line 3258 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <pwd.h> #include <pwd.h>
EOF EOF
@ -3251,7 +3287,7 @@ fi
case "$host_os" in case "$host_os" in
linux*) linux*)
echo $ac_n "checking whether ELF binaries are produced""... $ac_c" 1>&6 echo $ac_n "checking whether ELF binaries are produced""... $ac_c" 1>&6
echo "configure:3255: checking whether ELF binaries are produced" >&5 echo "configure:3291: checking whether ELF binaries are produced" >&5
if eval "test \"`echo '$''{'rb_cv_linux_elf'+set}'`\" = set"; then if eval "test \"`echo '$''{'rb_cv_linux_elf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
@ -3259,7 +3295,7 @@ else
: :
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3263 "configure" #line 3299 "configure"
#include "confdefs.h" #include "confdefs.h"
/* Test for whether ELF binaries are produced */ /* Test for whether ELF binaries are produced */
@ -3279,7 +3315,7 @@ main() {
} }
EOF EOF
if { (eval echo configure:3283: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null if { (eval echo configure:3319: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then then
rb_cv_linux_elf=yes rb_cv_linux_elf=yes
else else
@ -3309,7 +3345,7 @@ STATIC=
if test "$with_dln_a_out" != yes; then if test "$with_dln_a_out" != yes; then
rb_cv_dlopen=unknown rb_cv_dlopen=unknown
echo $ac_n "checking whether OS depend dynamic link works""... $ac_c" 1>&6 echo $ac_n "checking whether OS depend dynamic link works""... $ac_c" 1>&6
echo "configure:3313: checking whether OS depend dynamic link works" >&5 echo "configure:3349: checking whether OS depend dynamic link works" >&5
if test "$GCC" = yes; then if test "$GCC" = yes; then
case "$host_os" in case "$host_os" in
nextstep*) ;; nextstep*) ;;
@ -3367,13 +3403,13 @@ dln_a_out_works=no
if test "$ac_cv_header_a_out_h" = yes; then if test "$ac_cv_header_a_out_h" = yes; then
if test "$with_dln_a_out" = yes || test "$rb_cv_dlopen" = unknown; then if test "$with_dln_a_out" = yes || test "$rb_cv_dlopen" = unknown; then
echo $ac_n "checking whether matz's dln works""... $ac_c" 1>&6 echo $ac_n "checking whether matz's dln works""... $ac_c" 1>&6
echo "configure:3371: checking whether matz's dln works" >&5 echo "configure:3407: checking whether matz's dln works" >&5
cat confdefs.h > config.h cat confdefs.h > config.h
if eval "test \"`echo '$''{'rb_cv_dln_a_out'+set}'`\" = set"; then if eval "test \"`echo '$''{'rb_cv_dln_a_out'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3377 "configure" #line 3413 "configure"
#include "confdefs.h" #include "confdefs.h"
#define USE_DLN_A_OUT #define USE_DLN_A_OUT
@ -3383,7 +3419,7 @@ int main() {
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:3387: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if { (eval echo configure:3423: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest* rm -rf conftest*
rb_cv_dln_a_out=yes rb_cv_dln_a_out=yes
else else
@ -3466,7 +3502,7 @@ fi
case "$host_os" in case "$host_os" in
human*) human*)
echo $ac_n "checking for _harderr in -lsignal""... $ac_c" 1>&6 echo $ac_n "checking for _harderr in -lsignal""... $ac_c" 1>&6
echo "configure:3470: checking for _harderr in -lsignal" >&5 echo "configure:3506: checking for _harderr in -lsignal" >&5
ac_lib_var=`echo signal'_'_harderr | sed 'y%./+-%__p_%'` ac_lib_var=`echo signal'_'_harderr | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
@ -3474,7 +3510,7 @@ else
ac_save_LIBS="$LIBS" ac_save_LIBS="$LIBS"
LIBS="-lsignal $LIBS" LIBS="-lsignal $LIBS"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3478 "configure" #line 3514 "configure"
#include "confdefs.h" #include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */ /* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2 /* We use char because int might match the return type of a gcc2
@ -3485,7 +3521,7 @@ int main() {
_harderr() _harderr()
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:3489: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then if { (eval echo configure:3525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes" eval "ac_cv_lib_$ac_lib_var=yes"
else else
@ -3513,7 +3549,7 @@ else
fi fi
echo $ac_n "checking for hmemset in -lhmem""... $ac_c" 1>&6 echo $ac_n "checking for hmemset in -lhmem""... $ac_c" 1>&6
echo "configure:3517: checking for hmemset in -lhmem" >&5 echo "configure:3553: checking for hmemset in -lhmem" >&5
ac_lib_var=`echo hmem'_'hmemset | sed 'y%./+-%__p_%'` ac_lib_var=`echo hmem'_'hmemset | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
@ -3521,7 +3557,7 @@ else
ac_save_LIBS="$LIBS" ac_save_LIBS="$LIBS"
LIBS="-lhmem $LIBS" LIBS="-lhmem $LIBS"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3525 "configure" #line 3561 "configure"
#include "confdefs.h" #include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */ /* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2 /* We use char because int might match the return type of a gcc2
@ -3532,7 +3568,7 @@ int main() {
hmemset() hmemset()
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:3536: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then if { (eval echo configure:3572: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes" eval "ac_cv_lib_$ac_lib_var=yes"
else else
@ -3562,12 +3598,12 @@ fi
for ac_func in select for ac_func in select
do do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:3566: checking for $ac_func" >&5 echo "configure:3602: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3571 "configure" #line 3607 "configure"
#include "confdefs.h" #include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes, /* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */ which can conflict with char $ac_func(); below. */
@ -3590,7 +3626,7 @@ $ac_func();
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:3594: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then if { (eval echo configure:3630: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_func_$ac_func=yes" eval "ac_cv_func_$ac_func=yes"
else else
@ -3615,7 +3651,7 @@ fi
done done
echo $ac_n "checking whether PD libc _dtos18 fail to convert big number""... $ac_c" 1>&6 echo $ac_n "checking whether PD libc _dtos18 fail to convert big number""... $ac_c" 1>&6
echo "configure:3619: checking whether PD libc _dtos18 fail to convert big number" >&5 echo "configure:3655: checking whether PD libc _dtos18 fail to convert big number" >&5
if eval "test \"`echo '$''{'rb_cv_missing__dtos18'+set}'`\" = set"; then if eval "test \"`echo '$''{'rb_cv_missing__dtos18'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
@ -3623,7 +3659,7 @@ else
{ echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3627 "configure" #line 3663 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <stdio.h> #include <stdio.h>
@ -3635,7 +3671,7 @@ main ()
} }
EOF EOF
if { (eval echo configure:3639: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null if { (eval echo configure:3675: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then then
rb_cv_missing__dtos18=yes rb_cv_missing__dtos18=yes
else else
@ -3657,7 +3693,7 @@ EOF
fi fi
echo $ac_n "checking whether PD libc fconvert fail to round""... $ac_c" 1>&6 echo $ac_n "checking whether PD libc fconvert fail to round""... $ac_c" 1>&6
echo "configure:3661: checking whether PD libc fconvert fail to round" >&5 echo "configure:3697: checking whether PD libc fconvert fail to round" >&5
if eval "test \"`echo '$''{'rb_cv_missing_fconvert'+set}'`\" = set"; then if eval "test \"`echo '$''{'rb_cv_missing_fconvert'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
@ -3665,7 +3701,7 @@ else
{ echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3669 "configure" #line 3705 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <stdio.h> #include <stdio.h>
@ -3678,7 +3714,7 @@ main ()
} }
EOF EOF
if { (eval echo configure:3682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null if { (eval echo configure:3718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then then
rb_cv_missing_fconvert=yes rb_cv_missing_fconvert=yes
else else

View file

@ -108,6 +108,7 @@ AC_TYPE_GETGROUPS
AC_TYPE_SIGNAL AC_TYPE_SIGNAL
AC_FUNC_ALLOCA AC_FUNC_ALLOCA
AC_FUNC_VFORK AC_FUNC_VFORK
AC_FUNC_MEMCMP
AC_REPLACE_FUNCS(dup2 setenv memmove mkdir strcasecmp strerror strftime\ AC_REPLACE_FUNCS(dup2 setenv memmove mkdir strcasecmp strerror strftime\
strstr strtoul strdup crypt flock) strstr strtoul strdup crypt flock)
AC_CHECK_FUNCS(fmod killpg random wait4 waitpid syscall getcwd\ AC_CHECK_FUNCS(fmod killpg random wait4 waitpid syscall getcwd\

22
eval.c
View file

@ -5462,23 +5462,16 @@ thread_pass()
return Qnil; return Qnil;
} }
static VALUE
thread_stop_method(thread)
VALUE thread;
{
thread_t th = thread_check(thread);
thread_critical = 0;
th->status = THREAD_STOPPED;
thread_schedule();
return thread;
}
static VALUE static VALUE
thread_stop() thread_stop()
{ {
thread_stop_method(curr_thread->thread); thread_critical = 0;
curr_thread->status = THREAD_STOPPED;
if (curr_thread == curr_thread->next) {
Raise(eThreadError, "stopping only thread");
}
thread_schedule();
return Qnil; return Qnil;
} }
@ -5887,7 +5880,6 @@ Init_Thread()
rb_define_method(cThread, "run", thread_run, 0); rb_define_method(cThread, "run", thread_run, 0);
rb_define_method(cThread, "wakeup", thread_wakeup, 0); rb_define_method(cThread, "wakeup", thread_wakeup, 0);
rb_define_method(cThread, "stop", thread_stop_method, 0);
rb_define_method(cThread, "exit", thread_kill, 0); rb_define_method(cThread, "exit", thread_kill, 0);
rb_define_method(cThread, "value", thread_value, 0); rb_define_method(cThread, "value", thread_value, 0);
rb_define_method(cThread, "status", thread_status, 0); rb_define_method(cThread, "status", thread_status, 0);

View file

@ -1,8 +1,8 @@
# #
# Date.rb - # Date.rb -
# $Release Version: $ # $Release Version: $
# $Revision: 1.1.1.1.4.3 $ # $Revision: 1.1.1.1.4.4 $
# $Date: 1998/02/03 10:02:57 $ # $Date: 1998/02/18 01:56:47 $
# by Yasuo OHBA(SHL Japan Inc. Technology Dept.) # by Yasuo OHBA(SHL Japan Inc. Technology Dept.)
# #
# -- # --
@ -109,6 +109,9 @@ class Date
else else
raise TypeError, "Illegal type. (Integer or Date)" raise TypeError, "Illegal type. (Integer or Date)"
end end
if d <= 0
raise ArgumentError, "argument out of range. (self > other)"
end
return Date.at(d) return Date.at(d)
end end
@ -146,11 +149,7 @@ class Date
end end
def leapyear? def leapyear?
if Date.leapyear(@year) == 1 Date.leapyear(@year) != 1
return FALSE
else
return TRUE
end
end end
def _check_date def _check_date
@ -221,10 +220,10 @@ def Date.period!(y, m, d)
p += dl[mm] p += dl[mm]
end end
p += (y - 1) * 365 + ((y - 1) / 4.0).to_i p += (y - 1) * 365 + ((y - 1) / 4.0).to_i
if (y - 1) > 1752 if y > 1752
p -= ((y - 1 - 1752) / 100.0).to_i p -= ((y - 1) / 100.0).to_i
p += ((y - 1 - 1752) / 400.0).to_i p += ((y - 1) / 400.0).to_i
p -= (14 - 3) p += 2
elsif y == 1752 && m == 9 && d >= 14 && d <= 30 elsif y == 1752 && m == 9 && d >= 14 && d <= 30
p -= (14 - 3) p -= (14 - 3)
end end

File diff suppressed because it is too large Load diff

View file

@ -297,8 +297,8 @@ module Sync_m
private :sync_try_lock_sub private :sync_try_lock_sub
def sync_synchronize(mode = EX) def sync_synchronize(mode = EX)
sync_lock(mode)
begin begin
sync_lock(mode)
yield yield
ensure ensure
sync_unlock sync_unlock

View file

@ -59,8 +59,8 @@ class Mutex
end end
def synchronize def synchronize
lock
begin begin
lock
yield yield
ensure ensure
unlock unlock
@ -115,22 +115,22 @@ class Queue
end end
def pop non_block=false def pop non_block=false
item = nil Thread.critical = true
until item begin
Thread.critical = true loop do
if @que.length == 0 if @que.length == 0
if non_block if non_block
Thread.critical = false raise ThreadError, "queue empty"
raise ThreadError, "queue empty" end
@waiting.push Thread.current
Thread.stop
else
return @que.shift
end end
@waiting.push Thread.current
Thread.stop
else
item = @que.shift
end end
ensure
Thread.critical = false
end end
Thread.critical = false
item
end end
def empty? def empty?

21
missing/memcmp.c Normal file
View file

@ -0,0 +1,21 @@
/*
* memcmp --- compare memories.
*
*/
int
memcmp(s1,s2,len)
char *s1;
char *s2;
register int len;
{
register unsigned char *a = (unsigned char*)s1;
register unsigned char *b = (unsigned char*)s2;
register int tmp;
while (len--) {
if (tmp = *a++ - *b++)
return tmp;
}
return 0;
}

View file

@ -210,9 +210,9 @@ struct_alloc(klass, values)
else { else {
NEWOBJ(st, struct RStruct); NEWOBJ(st, struct RStruct);
OBJSETUP(st, klass, T_STRUCT); OBJSETUP(st, klass, T_STRUCT);
st->len = n; st->len = 0; /* avoid GC crashing */
st->ptr = 0; /* avoid GC crashing */
st->ptr = ALLOC_N(VALUE, n); st->ptr = ALLOC_N(VALUE, n);
st->len = n;
MEMCPY(st->ptr, RARRAY(values)->ptr, VALUE, RARRAY(values)->len); MEMCPY(st->ptr, RARRAY(values)->ptr, VALUE, RARRAY(values)->len);
memclear(st->ptr+RARRAY(values)->len, n - RARRAY(values)->len); memclear(st->ptr+RARRAY(values)->len, n - RARRAY(values)->len);
@ -318,9 +318,9 @@ struct_clone(s)
{ {
NEWOBJ(st, struct RStruct); NEWOBJ(st, struct RStruct);
CLONESETUP(st, s); CLONESETUP(st, s);
st->len = RSTRUCT(s)->len; st->len = 0; /* avoid GC crashing */
st->ptr = 0; /* avoid GC crashing */
st->ptr = ALLOC_N(VALUE, RSTRUCT(s)->len); st->ptr = ALLOC_N(VALUE, RSTRUCT(s)->len);
st->len = RSTRUCT(s)->len;
MEMCPY(st->ptr, RSTRUCT(s)->ptr, VALUE, st->len); MEMCPY(st->ptr, RSTRUCT(s)->ptr, VALUE, st->len);
return (VALUE)st; return (VALUE)st;