summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--st.c7
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 9d73e817f4..560a00ea72 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Thu Sep 18 19:43:04 2008 Yusuke Endoh <mame@tsg.ne.jp>
+
+ * st.c (new_size): raise RuntimeError when st_table is too big.
+
Thu Sep 18 18:23:23 2008 Tanaka Akira <akr@fsij.org>
* transcode.c (enc_arg): must take pointer argument to avoid GC
diff --git a/st.c b/st.c
index a51d7cf8c8..54e10721b0 100644
--- a/st.c
+++ b/st.c
@@ -6,9 +6,7 @@
#include "regint.h"
#include "st.h"
#else
-#include "ruby/config.h"
-#include "ruby/defines.h"
-#include "ruby/st.h"
+#include "ruby/ruby.h"
#endif
#include <stdio.h>
@@ -135,6 +133,9 @@ new_size(int size)
if (newsize > size) return primes[i];
}
/* Ran out of polynomials */
+#ifndef NOT_RUBY
+ rb_raise(rb_eRuntimeError, "st_table too big");
+#endif
return -1; /* should raise exception */
#endif
}