eban
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
77e876615d
commit
7d87fac63a
@ -1,3 +1,7 @@
|
||||
Sat Jul 29 21:57:30 2000 WATANABE Hirofumi <eban@os.rim.or.jp>
|
||||
|
||||
* ruby.c (rubylib_mangle): provide another buffer for the result.
|
||||
|
||||
Wed Jul 26 10:09:01 2000 WATANABE Hirofumi <eban@os.rim.or.jp>
|
||||
|
||||
* configure.in: set SOLIBS to LIBS on Cygwin.
|
||||
|
13
ruby.c
13
ruby.c
@ -115,7 +115,7 @@ rubylib_mangle(s, l)
|
||||
{
|
||||
static char *newp, *oldp;
|
||||
static int newl, oldl, notfound;
|
||||
static char ret[STATIC_FILE_LENGTH+1];
|
||||
static char newsub[STATIC_FILE_LENGTH+1];
|
||||
|
||||
if (!newp && !notfound) {
|
||||
newp = getenv("RUBYLIB_PREFIX");
|
||||
@ -133,8 +133,8 @@ rubylib_mangle(s, l)
|
||||
if (newl == 0 || oldl == 0 || newl > STATIC_FILE_LENGTH) {
|
||||
rb_fatal("malformed RUBYLIB_PREFIX");
|
||||
}
|
||||
strcpy(ret, newp);
|
||||
s = ret;
|
||||
strcpy(newsub, newp);
|
||||
s = newsub;
|
||||
while (*s) {
|
||||
if (*s == '\\') *s = '/';
|
||||
s++;
|
||||
@ -147,6 +147,7 @@ rubylib_mangle(s, l)
|
||||
l = strlen(s);
|
||||
}
|
||||
if (!newp || l < oldl || strncasecmp(oldp, s, oldl) != 0) {
|
||||
static char ret[STATIC_FILE_LENGTH+1];
|
||||
strncpy(ret, s, l);
|
||||
ret[l] = 0;
|
||||
return ret;
|
||||
@ -154,9 +155,9 @@ rubylib_mangle(s, l)
|
||||
if (l + newl - oldl > STATIC_FILE_LENGTH || newl > STATIC_FILE_LENGTH) {
|
||||
rb_fatal("malformed RUBYLIB_PREFIX");
|
||||
}
|
||||
strcpy(ret + newl, s + oldl);
|
||||
ret[l + newl - oldl] = 0;
|
||||
return ret;
|
||||
strcpy(newsub + newl, s + oldl);
|
||||
newsub[l + newl - oldl] = 0;
|
||||
return newsub;
|
||||
}
|
||||
#define rubylib_mangled_path(s, l) rb_str_new2(rubylib_mangle((s), (l)))
|
||||
#define rubylib_mangled_path2(s) rb_str_new2(rubylib_mangle((s), 0))
|
||||
|
Loading…
x
Reference in New Issue
Block a user