]> Cypherpunks repositories - gostls13.git/commitdiff
misc cleanup
authorRuss Cox <rsc@golang.org>
Sun, 1 Nov 2009 17:25:55 +0000 (09:25 -0800)
committerRuss Cox <rsc@golang.org>
Sun, 1 Nov 2009 17:25:55 +0000 (09:25 -0800)
R=r
http://go/go-review/1016017

src/clean.bash
src/cmd/gc/dcl.c
src/pkg/encoding/ascii85/ascii85.go
src/pkg/exp/datafmt/parser.go
src/pkg/reflect/value.go
src/pkg/strconv/decimal.go
src/pkg/strconv/ftoa.go
src/pkg/strconv/quote.go

index 8acdb872249898b90718a0de3b3708f4e545cf24..b9012ea04d9032e7d64ae62b81e865607a78a973 100755 (executable)
@@ -7,7 +7,6 @@ rm -rf $GOROOT/pkg/${GOOS}_$GOARCH
 rm -f $GOROOT/lib/*.a
 for i in lib9 libbio libcgo libmach cmd pkg \
        ../misc/cgo/gmp ../misc/cgo/stdio \
-       ../usr/r/rpc \
        ../test/bench
 do(
        cd $i || exit 1
index 131d6889287e03f81404f445f1292d80fbfeacf8..3493e37deebc87f6b9bbc5ac6e780412c583964a 100644 (file)
@@ -465,7 +465,7 @@ oldname(Sym *s)
        }
        if(n->oldref < 100)
                n->oldref++;
-       if(n->funcdepth > 0 && n->funcdepth != funcdepth && n->op == ONAME) {
+       if(curfn != nil && n->funcdepth > 0 && n->funcdepth != funcdepth && n->op == ONAME) {
                // inner func is referring to var in outer func.
                //
                // TODO(rsc): If there is an outer variable x and we
index 27256eeca32e895f92bbb6817eaf75ae0cf19ebf..20cdccfd034468aa49ad20278a1a22a389f7437f 100644 (file)
@@ -123,7 +123,6 @@ func (e *encoder) Write(p []byte) (n int, err os.Error) {
                        return;
                }
                nout := Encode(&e.buf, &e.out);
-               var _ int;
                if _, e.err = e.w.Write(e.out[0:nout]); e.err != nil {
                        return n, e.err;
                }
@@ -139,7 +138,6 @@ func (e *encoder) Write(p []byte) (n int, err os.Error) {
                nn -= nn%4;
                if nn > 0 {
                        nout := Encode(p[0:nn], &e.out);
-                       var _ int;
                        if _, e.err = e.w.Write(e.out[0:nout]); e.err != nil {
                                return n, e.err;
                        }
@@ -164,7 +162,6 @@ func (e *encoder) Close() os.Error {
        if e.err == nil && e.nbuf > 0 {
                nout := Encode(e.buf[0:e.nbuf], &e.out);
                e.nbuf = 0;
-               var _ int;
                _, e.err = e.w.Write(e.out[0:nout]);
        }
        return e.err;
index 9a90c22f4431e215aa4ee4868b810e6a70e9d243..c7d754fe7d100efb4ce05aa040d1a2aeea783229 100644 (file)
@@ -192,7 +192,6 @@ func (p *parser) parseField() expr {
        var ruleName string;
        if p.tok == token.COLON {
                p.next();
-               var _ bool;
                ruleName, _ = p.parseRuleName();
        }
 
index 66e7d4936830870d44db13f9e3cb70f401d69968..1cfeba7b4f0054e51ba086b69ac93768ccf6c186 100644 (file)
@@ -1330,7 +1330,7 @@ func newValue(typ Type, addr addr, canSet bool) Value {
        // All values have same memory layout;
        // build once and convert.
        v := &struct{value}{value{typ, addr, canSet}};
-       switch t := typ.(type) {        // TODO(rsc): s/t := // ?
+       switch typ.(type) {
        case *ArrayType:
                // TODO(rsc): Something must prevent
                // clients of the package from doing
index 6772c096156a4d3d87818b743e7afca19685b25a..72165ea025637ba321809bc010a246ef7078ac4d 100644 (file)
@@ -269,10 +269,6 @@ func leftShift(a *decimal, k uint) {
                n = quo;
        }
 
-       if w != 0 {
-               // TODO: Remove - has no business panicking.
-               panicln("strconv: bad leftShift", w);
-       }
        a.nd += delta;
        a.dp += delta;
        trim(a);
index 0f3f50fe791a5feeb4a98660b0715fa06f7fc29f..f10d0716323a482d846e175610534fe7564a4229 100644 (file)
@@ -174,8 +174,8 @@ func roundShortest(d *decimal, mant uint64, exp int, flt *floatInfo) {
                return;
        }
 
-       // TODO: Unless exp == minexp, if the number of digits in d
-       // is less than 17, it seems unlikely that it could not be
+       // TODO(rsc): Unless exp == minexp, if the number of digits in d
+       // is less than 17, it seems likely that it would be
        // the shortest possible number already.  So maybe we can
        // bail out without doing the extra multiprecision math here.
 
index 9db6b2dc36e73ad821a0db358f47a51ba6375d4e..807b25ace3107ac2afa08bf1c5fdf89d33b382ee 100644 (file)
@@ -5,7 +5,9 @@
 package strconv
 
 import (
+       "bytes";
        "os";
+       "strings";
        "unicode";
        "utf8";
 )
@@ -17,61 +19,58 @@ const lowerhex = "0123456789abcdef"
 // sequences (\t, \n, \xFF, \u0100) for control characters
 // and non-ASCII characters.
 func Quote(s string) string {
-       // TODO(rsc): String accumulation could be more efficient.
-       t := `"`;
+       var buf bytes.Buffer;
+       buf.WriteByte('"');
        for ; len(s) > 0; s = s[1:len(s)] {
                switch c := s[0]; {
                case c == '"':
-                       t += `\"`;
+                       buf.WriteString(`\"`);
                case c == '\\':
-                       t += `\\`;
+                       buf.WriteString(`\\`);
                case ' ' <= c && c <= '~':
-                       t += string(c);
+                       buf.WriteString(string(c));
                case c == '\a':
-                       t += `\a`;
+                       buf.WriteString(`\a`);
                case c == '\b':
-                       t += `\b`;
+                       buf.WriteString(`\b`);
                case c == '\f':
-                       t += `\f`;
+                       buf.WriteString(`\f`);
                case c == '\n':
-                       t += `\n`;
+                       buf.WriteString(`\n`);
                case c == '\r':
-                       t += `\r`;
+                       buf.WriteString(`\r`);
                case c == '\t':
-                       t += `\t`;
+                       buf.WriteString(`\t`);
                case c == '\v':
-                       t += `\v`;
+                       buf.WriteString(`\v`);
 
-               case c < utf8.RuneSelf:
-                       t += `\x`+string(lowerhex[c>>4])+string(lowerhex[c&0xF]);
-
-               case utf8.FullRuneInString(s):
+               case c >= utf8.RuneSelf && utf8.FullRuneInString(s):
                        r, size := utf8.DecodeRuneInString(s);
                        if r == utf8.RuneError && size == 1 {
                                goto EscX;
                        }
                        s = s[size-1 : len(s)]; // next iteration will slice off 1 more
                        if r < 0x10000 {
-                               t += `\u`;
+                               buf.WriteString(`\u`);
                                for j := uint(0); j < 4; j++ {
-                                       t += string(lowerhex[(r>>(12 - 4*j))&0xF]);
+                                       buf.WriteByte(lowerhex[(r>>(12 - 4*j))&0xF]);
                                }
                        } else {
-                               t += `\U`;
+                               buf.WriteString(`\U`);
                                for j := uint(0); j < 8; j++ {
-                                       t += string(lowerhex[(r>>(28 - 4*j))&0xF]);
+                                       buf.WriteByte(lowerhex[(r>>(28 - 4*j))&0xF]);
                                }
                        }
 
                default:
                EscX:
-                       t += `\x`;
-                       t += string(lowerhex[c>>4]);
-                       t += string(lowerhex[c&0xF]);
+                       buf.WriteString(`\x`);
+                       buf.WriteByte(lowerhex[c>>4]);
+                       buf.WriteByte(lowerhex[c&0xF]);
                }
        }
-       t += `"`;
-       return t;
+       buf.WriteByte('"');
+       return buf.String();
 }
 
 // CanBackquote returns whether the string s would be
@@ -223,42 +222,42 @@ func UnquoteChar(s string, quote byte) (value int, multibyte bool, tail string,
 // character literal; Unquote returns the corresponding
 // one-character string.)
 func Unquote(s string) (t string, err os.Error) {
-       err = os.EINVAL;        // assume error for easy return
        n := len(s);
        if n < 2 {
-               return;
+               return "", os.EINVAL;
        }
        quote := s[0];
        if quote != s[n-1] {
-               return;
+               return "", os.EINVAL;
        }
        s = s[1 : n-1];
 
        if quote == '`' {
+               if strings.Index(s, "`") >= 0 {
+                       return "", os.EINVAL;
+               }
                return s, nil;
        }
        if quote != '"' && quote != '\'' {
-               return;
+               return "", err;
        }
 
-       // TODO(rsc): String accumulation could be more efficient.
-       var tt string;
+       var buf bytes.Buffer;
        for len(s) > 0 {
-               c, multibyte, ss, err1 := UnquoteChar(s, quote);
-               if err1 != nil {
-                       err = err1;
-                       return;
+               c, multibyte, ss, err := UnquoteChar(s, quote);
+               if err != nil {
+                       return "", err;
                }
                s = ss;
-               if multibyte || c < utf8.RuneSelf {
-                       tt += string(c);
+               if c < utf8.RuneSelf || !multibyte {
+                       buf.WriteByte(byte(c));
                } else {
-                       tt += string([]byte{byte(c)});
+                       buf.WriteString(string(c));
                }
                if quote == '\'' && len(s) != 0 {
                        // single-quoted must be single character
-                       return;
+                       return "", os.EINVAL;
                }
        }
-       return tt, nil;
+       return buf.String(), nil;
 }