summaryrefslogtreecommitdiffstats
path: root/include/ruby/encoding.h
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-21 11:00:04 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-21 11:00:04 +0000
commit9b94a19c1e74e1538cffd2c31a1c9e7cd51cc33f (patch)
tree5df3c510768d2e354401fde9217be66477820a20 /include/ruby/encoding.h
parent90890ef0232a734f3eb6f38b1551ef5d505deb90 (diff)
downloadruby-9b94a19c1e74e1538cffd2c31a1c9e7cd51cc33f.tar.gz
ruby-9b94a19c1e74e1538cffd2c31a1c9e7cd51cc33f.tar.xz
ruby-9b94a19c1e74e1538cffd2c31a1c9e7cd51cc33f.zip
* encoding.c (rb_enc_replicate): now creates first class encoding.
* encoding.c (rb_define_dummy_encoding): always based on the default encoding. * encoding.c (rb_enc_dummy_p): check if dummy. * encoding.c (enc_inspect): shows if dummy. * encoding.c (Init_Encoding): added dummy? method * include/ruby/encoding.h (ENCODING_INLINE_MAX): increased. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'include/ruby/encoding.h')
-rw-r--r--include/ruby/encoding.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/include/ruby/encoding.h b/include/ruby/encoding.h
index 4b238d3a5..46ecf2c17 100644
--- a/include/ruby/encoding.h
+++ b/include/ruby/encoding.h
@@ -15,20 +15,20 @@
#include "ruby/oniguruma.h"
-#define ENCODING_INLINE_MAX 15
-#define ENCODING_MASK (FL_USER8|FL_USER9|FL_USER10|FL_USER11)
-#define ENCODING_SHIFT (FL_USHIFT+8)
+#define ENCODING_INLINE_MAX 1023
+#define ENCODING_SHIFT (FL_USHIFT+10)
+#define ENCODING_MASK (ENCODING_INLINE_MAX<<ENCODING_SHIFT)
#define ENCODING_SET(obj,i) do {\
RBASIC(obj)->flags &= ~ENCODING_MASK;\
RBASIC(obj)->flags |= i << ENCODING_SHIFT;\
} while (0)
#define ENCODING_GET(obj) ((RBASIC(obj)->flags & ENCODING_MASK)>>ENCODING_SHIFT)
-#define ENC_CODERANGE_MASK (FL_USER12|FL_USER13)
+#define ENC_CODERANGE_MASK (FL_USER8|FL_USER9)
#define ENC_CODERANGE_UNKNOWN 0
-#define ENC_CODERANGE_7BIT FL_USER12
-#define ENC_CODERANGE_VALID FL_USER13
-#define ENC_CODERANGE_BROKEN (FL_USER12|FL_USER13)
+#define ENC_CODERANGE_7BIT FL_USER8
+#define ENC_CODERANGE_VALID FL_USER9
+#define ENC_CODERANGE_BROKEN (FL_USER8|FL_USER9)
#define ENC_CODERANGE(obj) (RBASIC(obj)->flags & ENC_CODERANGE_MASK)
#define ENC_CODERANGE_ASCIIONLY(obj) (ENC_CODERANGE(obj) == ENC_CODERANGE_7BIT)
#define ENC_CODERANGE_SET(obj,cr) (RBASIC(obj)->flags = \
@@ -39,6 +39,8 @@
typedef OnigEncodingType rb_encoding;
int rb_enc_replicate(const char *, rb_encoding *);
+int rb_define_dummy_encoding(const char *);
+int rb_enc_dummy_p(rb_encoding *);
int rb_enc_to_index(rb_encoding*);
int rb_enc_get_index(VALUE obj);
int rb_enc_find_index(const char *name);