From f35308b3ef20be1716660a751087b4e726db2171 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 19 Feb 2009 06:11:41 +0000 Subject: * eval_intern.h (translit_char): moved from ruby.c. * load.c (load_ext): transliterates file separators and back if needed. * symbian/setup (DLN_NEEDS_ALT_SEPARATOR): defined. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- eval_intern.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'eval_intern.h') diff --git a/eval_intern.h b/eval_intern.h index 40f64eca06..ac2999d3b9 100644 --- a/eval_intern.h +++ b/eval_intern.h @@ -205,4 +205,20 @@ VALUE rb_vm_top_self(); VALUE rb_vm_cbase(void); void rb_trap_restore_mask(void); +#ifndef CharNext /* defined as CharNext[AW] on Windows. */ +#define CharNext(p) ((p) + mblen(p, RUBY_MBCHAR_MAXSIZE)) +#endif + +#if defined DOSISH || defined __CYGWIN__ +static inline void +translit_char(char *p, int from, int to) +{ + while (*p) { + if ((unsigned char)*p == from) + *p = to; + p = CharNext(p); + } +} +#endif + #endif /* RUBY_EVAL_INTERN_H */ -- cgit v1.2.3