]> Cypherpunks repositories - gostls13.git/commitdiff
sys.stringtorune doesn't need a length parameter.
authorRob Pike <r@golang.org>
Tue, 7 Oct 2008 17:03:34 +0000 (10:03 -0700)
committerRob Pike <r@golang.org>
Tue, 7 Oct 2008 17:03:34 +0000 (10:03 -0700)
R=rsc
DELTA=7  (0 added, 0 deleted, 7 changed)
OCL=16600
CL=16630

src/cmd/gc/sys.go
src/cmd/gc/sysimport.c
src/runtime/rune.c
src/runtime/runtime.h
test/utf.go

index 37c523d992aa2c8d38ed53bdb47e371fd5e66fb5..8e2e6ac76d4666f459573ab4e1a6ca4642638c2a 100644 (file)
@@ -76,7 +76,7 @@ export func   goexit();
 export func    readfile(string) (string, bool);        // read file into string; boolean status
 export func    writefile(string, string) (bool);       // write string into file; boolean status
 export func    bytestorune(*byte, int32, int32) (int32, int32);        // convert bytes to runes
-export func    stringtorune(string, int32, int32) (int32, int32);      // convert bytes to runes
+export func    stringtorune(string, int32) (int32, int32);     // convert bytes to runes
 
 export func    exit(int32);
 
index c3b7cbfc1f91dc38340d37d3ee5cd434063eebf5..1ef5d20be0d7da3971a89cfacc20d87ee3bef089 100644 (file)
@@ -1,4 +1,4 @@
-char *sysimport =
+char *sysimport = 
        "package sys\n"
        "type sys.any any\n"
        "type sys.uint32 uint32\n"
@@ -66,7 +66,7 @@ char *sysimport =
        "export func sys.readfile (? sys.string) (? sys.string, ? sys.bool)\n"
        "export func sys.writefile (? sys.string, ? sys.string) (? sys.bool)\n"
        "export func sys.bytestorune (? *sys.uint8, ? sys.int32, ? sys.int32) (? sys.int32, ? sys.int32)\n"
-       "export func sys.stringtorune (? sys.string, ? sys.int32, ? sys.int32) (? sys.int32, ? sys.int32)\n"
+       "export func sys.stringtorune (? sys.string, ? sys.int32) (? sys.int32, ? sys.int32)\n"
        "export func sys.exit (? sys.int32)\n"
        "\n"
        "$$\n";
index d705a5e36f738f279e771de6d91b92a886bb9715..5738ca3646a1e041c7d2b624ae768606d35c4675 100644 (file)
@@ -235,9 +235,9 @@ sys·bytestorune(byte *str, int32 off, int32 length, int32 outrune, int32 outcou
 }
 
 void
-sys·stringtorune(string str, int32 off, int32 length, int32 outrune, int32 outcount)
+sys·stringtorune(string str, int32 off, int32 outrune, int32 outcount)
 {
-       outcount = charntorune(&outrune, str->str + off, length);
+       outcount = charntorune(&outrune, str->str + off, str->len - off);
        FLUSH(&outrune);
        FLUSH(&outcount);
 }
index f590472439b5c5f8134c6433754e6e24cb52f2f2..f182aebae798757d6006855dacdc73d0dade9a24 100644 (file)
@@ -293,4 +293,4 @@ void        sys·intstring(int64, string);
  */
 void   sys·readfile(string, string, bool);
 void   sys·bytestorune(byte*, int32, int32, int32, int32);
-void   sys·stringtorune(string, int32, int32, int32, int32);
+void   sys·stringtorune(string, int32, int32, int32);
index 206f67c7314bcd091b19b4122742b74ad52cbf41..f38f4edd8c868e688070a0ce0d9e8ce261388c68 100644 (file)
@@ -21,7 +21,7 @@ func main() {
        var l = len(s);
        for w, i, j := 0,0,0; i < l; i += w {
                var r int32;
-               r, w = sys.stringtorune(s, i, l);
+               r, w = sys.stringtorune(s, i);
                if w == 0 { panic("zero width in string") }
                if r != chars[j] { panic("wrong value from string") }
                j++;