You've already forked macports-ports
mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
Submitted by: blair@orcaware.com Reviewed by: olegb@ Approved by: Obtained from: stop teh core dumpage!1 thanks Blair git-svn-id: https://svn.macports.org/repository/macports/trunk/dports@16709 d073be05-634f-4543-b044-5fe20cf6d1d6
This commit is contained in:
+2
-2
@@ -1,9 +1,9 @@
|
||||
# $Id: Portfile,v 1.37 2006/01/08 19:23:30 jberry Exp $
|
||||
# $Id: Portfile,v 1.38 2006/03/01 16:37:34 olegb Exp $
|
||||
PortSystem 1.0
|
||||
|
||||
name ruby
|
||||
version 1.8.4
|
||||
revision 1
|
||||
revision 2
|
||||
|
||||
categories lang ruby
|
||||
maintainers darwinports@opendarwin.org
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
--- ../ruby-1.8.2.orig/ruby.c Fri Jul 23 00:52:38 2004
|
||||
+++ ruby.c Tue Dec 28 21:52:47 2004
|
||||
--- ruby.c.orig 2005-12-11 16:36:52.000000000 -0800
|
||||
+++ ruby.c 2006-02-02 12:38:41.000000000 -0800
|
||||
@@ -298,6 +298,13 @@
|
||||
ruby_incpush(RUBY_RELATIVE(RUBY_SITE_ARCHLIB));
|
||||
ruby_incpush(RUBY_RELATIVE(RUBY_SITE_LIB));
|
||||
@@ -14,3 +14,71 @@
|
||||
ruby_incpush(RUBY_RELATIVE(RUBY_LIB));
|
||||
#ifdef RUBY_THIN_ARCHLIB
|
||||
ruby_incpush(RUBY_RELATIVE(RUBY_THIN_ARCHLIB));
|
||||
@@ -1033,43 +1033,47 @@
|
||||
rb_progname = rb_tainted_str_new(s, i);
|
||||
#else
|
||||
if (len == 0) {
|
||||
- char *s = origargv[0];
|
||||
- int i;
|
||||
+ char *s1 = origargv[0];
|
||||
+ int j;
|
||||
|
||||
- s += strlen(s);
|
||||
+ s1 += strlen(s1);
|
||||
/* See if all the arguments are contiguous in memory */
|
||||
- for (i = 1; i < origargc; i++) {
|
||||
- if (origargv[i] == s + 1) {
|
||||
- s++;
|
||||
- s += strlen(s); /* this one is ok too */
|
||||
+ for (j = 1; j < origargc; j++) {
|
||||
+ if (origargv[j] == s1 + 1) {
|
||||
+ s1++;
|
||||
+ s1 += strlen(s1); /* this one is ok too */
|
||||
}
|
||||
else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
#ifndef DOSISH
|
||||
- if (s + 1 == envspace.begin) {
|
||||
- s = envspace.end;
|
||||
+ if (s1 + 1 == envspace.begin) {
|
||||
+ s1 = envspace.end;
|
||||
ruby_setenv("", NULL); /* duplicate environ vars */
|
||||
}
|
||||
#endif
|
||||
- len = s - origargv[0];
|
||||
+ len = s1 - origargv[0];
|
||||
}
|
||||
|
||||
if (i >= len) {
|
||||
i = len;
|
||||
- memcpy(origargv[0], s, i);
|
||||
- origargv[0][i] = '\0';
|
||||
}
|
||||
- else {
|
||||
- memcpy(origargv[0], s, i);
|
||||
- s = origargv[0]+i;
|
||||
- *s++ = '\0';
|
||||
- while (++i < len)
|
||||
- *s++ = ' ';
|
||||
- for (i = 1; i < origargc; i++)
|
||||
- origargv[i] = 0;
|
||||
+ memcpy(origargv[0], s, i);
|
||||
+ memset(origargv[0] + i, '\0', len - i + 1);
|
||||
+
|
||||
+ /* If the new program name is longer than the original one, then
|
||||
+ * have any command line arguments that were written over be
|
||||
+ * empty strings. */
|
||||
+ s = origargv[0] + i;
|
||||
+ for (i = 1; i < origargc; ++i) {
|
||||
+ if (origargv[i] < s ) {
|
||||
+ origargv[i] = s;
|
||||
+ } else {
|
||||
+ break;
|
||||
+ }
|
||||
}
|
||||
+
|
||||
rb_progname = rb_tainted_str_new2(origargv[0]);
|
||||
#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user