summaryrefslogtreecommitdiff
path: root/ruby.h
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-03-26 08:57:16 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-03-26 08:57:16 +0000
commitde51a663b4300777be15003388070748a974e7c7 (patch)
tree635c8f7cfaf91bc155d82dd62b69af9d36f95e16 /ruby.h
parent44f754bd87e4b800118c59020d67123430535b9f (diff)
* eval.c: remove TMP_PROTECT_END to prevent C_ALLOCA crash.
* file.c (rb_file_flock): do not trap EINTR. * missing/flock.c (flock): returns the value from lockf(2) directly. * eval.c (ev_const_defined): should ignore toplevel cbase (Object). * eval.c (ev_const_get): ditto. * ext/md5/md5.h: replace by independent md5 implementation contributed by L. Peter Deutsch (thanks). * ext/md5/md5init.c: adopted to Deutsch's md5 implementation. * pack.c (pack_unpack): string from P/p should be tainted. * ext/curses/curses.c: curses on Mac OS X public beta does not have _maxx etc. * marshal.c (w_object): should truncate trailing zero short for bignums. * object.c (sym_intern): new method. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.h')
-rw-r--r--ruby.h34
1 files changed, 27 insertions, 7 deletions
diff --git a/ruby.h b/ruby.h
index d7da398c9d..2a875e008e 100644
--- a/ruby.h
+++ b/ruby.h
@@ -541,14 +541,24 @@ EXTERN VALUE rb_eNameError;
EXTERN VALUE rb_eSyntaxError;
EXTERN VALUE rb_eLoadError;
-extern inline VALUE rb_class_of _((VALUE));
-extern inline int rb_type _((VALUE));
-extern inline int rb_special_const_p _((VALUE));
+#ifdef INLINE_DEFINE
+#define INLINE
+#else
+#define INLINE inline
+#endif
+
+extern INLINE VALUE rb_class_of _((VALUE));
+extern INLINE int rb_type _((VALUE));
+extern INLINE int rb_special_const_p _((VALUE));
#if !defined(NO_C_INLINE) || defined(INLINE_DEFINE)
-extern inline VALUE
+extern INLINE VALUE
+#if defined(__cplusplus)
+rb_class_of(VALUE obj)
+#else
rb_class_of(obj)
VALUE obj;
+#endif
{
if (FIXNUM_P(obj)) return rb_cFixnum;
if (obj == Qnil) return rb_cNilClass;
@@ -559,9 +569,13 @@ rb_class_of(obj)
return RBASIC(obj)->klass;
}
-extern inline int
+extern INLINE int
+#if defined(__cplusplus)
+rb_type(VALUE obj)
+#else
rb_type(obj)
- VALUE obj;
+ VALUE obj;
+#endif
{
if (FIXNUM_P(obj)) return T_FIXNUM;
if (obj == Qnil) return T_NIL;
@@ -572,15 +586,21 @@ rb_type(obj)
return BUILTIN_TYPE(obj);
}
-extern inline int
+extern INLINE int
+#if defined(__cplusplus)
+rb_special_const_p(VALUE obj)
+#else
rb_special_const_p(obj)
VALUE obj;
+#endif
{
if (SPECIAL_CONST_P(obj)) return Qtrue;
return Qfalse;
}
#endif
+#undef INLINE
+
#include "intern.h"
#if defined(EXTLIB) && defined(USE_DLN_A_OUT)