[macruby-changes] [576] MacRuby/trunk/io.c

source_changes at macosforge.org source_changes at macosforge.org
Sun Sep 7 23:36:47 PDT 2008


Revision: 576
          http://trac.macosforge.org/projects/ruby/changeset/576
Author:   lsansonetti at apple.com
Date:     2008-09-07 23:36:47 -0700 (Sun, 07 Sep 2008)
Log Message:
-----------
fixed a bug introduced by the latest commit

Modified Paths:
--------------
    MacRuby/trunk/io.c

Modified: MacRuby/trunk/io.c
===================================================================
--- MacRuby/trunk/io.c	2008-09-08 06:36:41 UTC (rev 575)
+++ MacRuby/trunk/io.c	2008-09-08 06:36:47 UTC (rev 576)
@@ -711,9 +711,8 @@
 	}
     }
 
-    len = RSTRING_BYTELEN(str);
+    len = RSTRING_LEN(str);
     if ((n = len) <= 0) {
-	RSTRING_SYNC(str);
 	return n;
     }
     if (fptr->wbuf == NULL && !(fptr->mode & FMODE_SYNC)) {
@@ -730,16 +729,14 @@
                 MEMMOVE(fptr->wbuf, fptr->wbuf+fptr->wbuf_off, char, fptr->wbuf_len);
                 fptr->wbuf_off = 0;
             }
-            MEMMOVE(fptr->wbuf+fptr->wbuf_off+fptr->wbuf_len, RSTRING_BYTEPTR(str)+offset, char, len);
+            MEMMOVE(fptr->wbuf+fptr->wbuf_off+fptr->wbuf_len, RSTRING_PTR(str)+offset, char, len);
             fptr->wbuf_len += len;
             n = 0;
         }
         if (io_fflush(fptr) < 0) {
-	    RSTRING_SYNC(str);
             return -1L;
 	}
         if (n == 0) {
-	    RSTRING_SYNC(str);
             return len;
 	}
         /* avoid context switch between "a" and "\n" in STDERR.puts "a".
@@ -755,10 +752,9 @@
             wsplit_p(fptr)) {
             l = PIPE_BUF;
         }
-	r = rb_write_internal(fptr->fd, RSTRING_BYTEPTR(str)+offset, l);
+	r = rb_write_internal(fptr->fd, ((char *)RSTRING_PTR(str))+offset, l);
 	/* xxx: other threads may modify given string. */
         if (r == n) {
-	    RSTRING_SYNC(str);
 	    return len;
 	}
         if (0 <= r) {
@@ -768,10 +764,9 @@
         }
         if (rb_io_wait_writable(fptr->fd)) {
             rb_io_check_closed(fptr);
-	    if (offset < RSTRING_BYTELEN(str))
+	    if (offset < RSTRING_LEN(str))
 		goto retry;
         }
-	RSTRING_SYNC(str);
         return -1L;
     }
 
@@ -780,9 +775,8 @@
             MEMMOVE(fptr->wbuf, fptr->wbuf+fptr->wbuf_off, char, fptr->wbuf_len);
         fptr->wbuf_off = 0;
     }
-    MEMMOVE(fptr->wbuf+fptr->wbuf_off+fptr->wbuf_len, RSTRING_BYTEPTR(str)+offset, char, len);
+    MEMMOVE(fptr->wbuf+fptr->wbuf_off+fptr->wbuf_len, RSTRING_PTR(str)+offset, char, len);
     fptr->wbuf_len += len;
-    RSTRING_SYNC(str);
     return len;
 }
 
@@ -4829,11 +4823,10 @@
 	}
 	line = rb_obj_as_string(argv[i]);
 	rb_io_write(out, line);
-	if (RSTRING_BYTELEN(line) == 0 ||
-            RSTRING_BYTEPTR(line)[RSTRING_BYTELEN(line)-1] != '\n') {
+	if (RSTRING_LEN(line) == 0 ||
+            RSTRING_PTR(line)[RSTRING_LEN(line)-1] != '\n') {
 	    rb_io_write(out, rb_default_rs);
 	}
-	RSTRING_SYNC(line);
     }
 
     return Qnil;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macruby-changes/attachments/20080907/79dc03f5/attachment.html 


More information about the macruby-changes mailing list