new new & make
R=r
OCL=22166
CL=22166
diff --git a/src/lib/net/dialgoogle_test.go b/src/lib/net/dialgoogle_test.go
index 684439d..86ef5b9 100644
--- a/src/lib/net/dialgoogle_test.go
+++ b/src/lib/net/dialgoogle_test.go
@@ -22,7 +22,7 @@
req := io.StringBytes("GET / HTTP/1.0\r\nHost: www.google.com\r\n\r\n");
n, errno := fd.Write(req);
- buf := new([]byte, 1000);
+ buf := make([]byte, 1000);
n, errno = io.Readn(fd, buf);
if n < 1000 {
diff --git a/src/lib/net/dnsclient.go b/src/lib/net/dnsclient.go
index eff46f8..f9ca002 100644
--- a/src/lib/net/dnsclient.go
+++ b/src/lib/net/dnsclient.go
@@ -44,7 +44,7 @@
if len(name) >= 256 {
return nil, DNS_NameTooLong
}
- out := new(*DNS_Msg);
+ out := new(DNS_Msg);
out.id = 0x1234;
out.question = []DNS_Question{
DNS_Question{ name, DNS_TypeA, DNS_ClassINET }
@@ -64,14 +64,14 @@
// TODO(rsc): set up timeout or call ReadTimeout.
// right now net does not support that.
- buf := new([]byte, 2000); // More than enough.
+ buf := make([]byte, 2000); // More than enough.
n, err = c.Read(buf);
if err != nil {
// TODO(rsc): only continue if timed out
continue
}
buf = buf[0:n];
- in := new(*DNS_Msg);
+ in := new(DNS_Msg);
if !in.Unpack(buf) || in.id != out.id {
continue
}
@@ -85,7 +85,7 @@
// On return, if err == nil, addrs != nil.
// TODO(rsc): Maybe return [][]byte (==[]IPAddr) instead?
func Answer(name string, dns *DNS_Msg) (addrs []string, err *os.Error) {
- addrs = new([]string, 0, len(dns.answer));
+ addrs = make([]string, 0, len(dns.answer));
if dns.rcode == DNS_RcodeNameError && dns.authoritative {
return nil, DNS_NameNotFound // authoritative "no such host"
diff --git a/src/lib/net/dnsconfig.go b/src/lib/net/dnsconfig.go
index 5c2b458..04feddb 100644
--- a/src/lib/net/dnsconfig.go
+++ b/src/lib/net/dnsconfig.go
@@ -31,9 +31,9 @@
if file == nil {
return nil
}
- conf := new(*DNS_Config);
- conf.servers = new([]string, 3)[0:0]; // small, but the standard limit
- conf.search = new([]string, 0);
+ conf := new(DNS_Config);
+ conf.servers = make([]string, 3)[0:0]; // small, but the standard limit
+ conf.search = make([]string, 0);
conf.ndots = 1;
conf.timeout = 1;
conf.attempts = 1;
@@ -62,14 +62,14 @@
case "domain": // set search path to just this domain
if len(f) > 1 {
- conf.search = new([]string, 1);
+ conf.search = make([]string, 1);
conf.search[0] = f[1];
} else {
- conf.search = new([]string, 0)
+ conf.search = make([]string, 0)
}
case "search": // set search path to given servers
- conf.search = new([]string, len(f) - 1);
+ conf.search = make([]string, len(f) - 1);
for i := 0; i < len(conf.search); i++ {
conf.search[i] = f[i+1];
}
diff --git a/src/lib/net/dnsmsg.go b/src/lib/net/dnsmsg.go
index 1c85c93..76cdd90 100644
--- a/src/lib/net/dnsmsg.go
+++ b/src/lib/net/dnsmsg.go
@@ -198,18 +198,18 @@
// Map of constructors for each RR wire type.
var rr_mk = map[int]*()DNS_RR {
- DNS_TypeCNAME: func() DNS_RR { return new(*DNS_RR_CNAME) },
- DNS_TypeHINFO: func() DNS_RR { return new(*DNS_RR_HINFO) },
- DNS_TypeMB: func() DNS_RR { return new(*DNS_RR_MB) },
- DNS_TypeMG: func() DNS_RR { return new(*DNS_RR_MG) },
- DNS_TypeMINFO: func() DNS_RR { return new(*DNS_RR_MINFO) },
- DNS_TypeMR: func() DNS_RR { return new(*DNS_RR_MR) },
- DNS_TypeMX: func() DNS_RR { return new(*DNS_RR_MX) },
- DNS_TypeNS: func() DNS_RR { return new(*DNS_RR_NS) },
- DNS_TypePTR: func() DNS_RR { return new(*DNS_RR_PTR) },
- DNS_TypeSOA: func() DNS_RR { return new(*DNS_RR_SOA) },
- DNS_TypeTXT: func() DNS_RR { return new(*DNS_RR_TXT) },
- DNS_TypeA: func() DNS_RR { return new(*DNS_RR_A) },
+ DNS_TypeCNAME: func() DNS_RR { return new(DNS_RR_CNAME) },
+ DNS_TypeHINFO: func() DNS_RR { return new(DNS_RR_HINFO) },
+ DNS_TypeMB: func() DNS_RR { return new(DNS_RR_MB) },
+ DNS_TypeMG: func() DNS_RR { return new(DNS_RR_MG) },
+ DNS_TypeMINFO: func() DNS_RR { return new(DNS_RR_MINFO) },
+ DNS_TypeMR: func() DNS_RR { return new(DNS_RR_MR) },
+ DNS_TypeMX: func() DNS_RR { return new(DNS_RR_MX) },
+ DNS_TypeNS: func() DNS_RR { return new(DNS_RR_NS) },
+ DNS_TypePTR: func() DNS_RR { return new(DNS_RR_PTR) },
+ DNS_TypeSOA: func() DNS_RR { return new(DNS_RR_SOA) },
+ DNS_TypeTXT: func() DNS_RR { return new(DNS_RR_TXT) },
+ DNS_TypeA: func() DNS_RR { return new(DNS_RR_A) },
}
// Pack a domain name s into msg[off:].
@@ -424,7 +424,7 @@
}
n := int(msg[off]);
off++;
- b := new([]byte, n);
+ b := make([]byte, n);
for i := 0; i < n; i++ {
b[i] = msg[off+i];
}
@@ -582,7 +582,7 @@
// Could work harder to calculate message size,
// but this is far more than we need and not
// big enough to hurt the allocator.
- msg = new([]byte, 2000);
+ msg = make([]byte, 2000);
// Pack it in: header and then the pieces.
off := 0;
@@ -623,10 +623,10 @@
dns.rcode = int(dh.bits & 0xF);
// Arrays.
- dns.question = new([]DNS_Question, dh.qdcount);
- dns.answer = new([]DNS_RR, dh.ancount);
- dns.ns = new([]DNS_RR, dh.nscount);
- dns.extra = new([]DNS_RR, dh.arcount);
+ dns.question = make([]DNS_Question, dh.qdcount);
+ dns.answer = make([]DNS_RR, dh.ancount);
+ dns.ns = make([]DNS_RR, dh.nscount);
+ dns.extra = make([]DNS_RR, dh.arcount);
for i := 0; i < len(dns.question); i++ {
off, ok = UnpackStruct(&dns.question[i], msg, off);
diff --git a/src/lib/net/fd.go b/src/lib/net/fd.go
index a9c90c8..e155abd 100644
--- a/src/lib/net/fd.go
+++ b/src/lib/net/fd.go
@@ -78,9 +78,9 @@
func (s *PollServer) Run();
func NewPollServer() (s *PollServer, err *os.Error) {
- s = new(*PollServer);
- s.cr = new(chan *FD, 1);
- s.cw = new(chan *FD, 1);
+ s = new(PollServer);
+ s.cr = make(chan *FD, 1);
+ s.cw = make(chan *FD, 1);
if s.pr, s.pw, err = os.Pipe(); err != nil {
return nil, err
}
@@ -100,7 +100,7 @@
s.poll.Close();
goto Error
}
- s.pending = new(map[int64] *FD);
+ s.pending = make(map[int64] *FD);
go s.Run();
return s, nil
}
@@ -214,11 +214,11 @@
if err = SetNonblock(fd); err != nil {
return nil, err
}
- f = new(*FD);
+ f = new(FD);
f.fd = fd;
f.osfd = os.NewFD(fd);
- f.cr = new(chan *FD, 1);
- f.cw = new(chan *FD, 1);
+ f.cr = make(chan *FD, 1);
+ f.cw = make(chan *FD, 1);
return f, nil
}
diff --git a/src/lib/net/fd_darwin.go b/src/lib/net/fd_darwin.go
index 5a21be5..a92ad78 100644
--- a/src/lib/net/fd_darwin.go
+++ b/src/lib/net/fd_darwin.go
@@ -19,7 +19,7 @@
}
export func NewPollster() (p *Pollster, err *os.Error) {
- p = new(*Pollster);
+ p = new(Pollster);
var e int64;
if p.kq, e = syscall.kqueue(); e != 0 {
return nil, os.ErrnoToError(e)
diff --git a/src/lib/net/fd_linux.go b/src/lib/net/fd_linux.go
index e459ddd..77c2747 100644
--- a/src/lib/net/fd_linux.go
+++ b/src/lib/net/fd_linux.go
@@ -25,7 +25,7 @@
}
export func NewPollster() (p *Pollster, err *os.Error) {
- p = new(*Pollster);
+ p = new(Pollster);
var e int64;
// The arg to epoll_create is a hint to the kernel
@@ -34,7 +34,7 @@
if p.epfd, e = syscall.epoll_create(16); e != 0 {
return nil, os.ErrnoToError(e)
}
- p.events = new(map[int64] uint32);
+ p.events = make(map[int64] uint32);
return p, nil
}
diff --git a/src/lib/net/ip.go b/src/lib/net/ip.go
index 883a1c6..5ab0c50 100644
--- a/src/lib/net/ip.go
+++ b/src/lib/net/ip.go
@@ -23,7 +23,7 @@
// Make the 4 bytes into an IPv4 address (in IPv6 form)
func MakeIPv4(a, b, c, d byte) []byte {
- p := new([]byte, IPv6len);
+ p := make([]byte, IPv6len);
for i := 0; i < 10; i++ {
p[i] = 0
}
@@ -44,11 +44,11 @@
IPv4allsys = MakeIPv4(0xe0, 0x00, 0x00, 0x01);
IPv4allrouter = MakeIPv4(0xe0, 0x00, 0x00, 0x02);
IPv4prefix = MakeIPv4(0, 0, 0, 0);
- IPallbits = new([]byte, IPv6len);
+ IPallbits = make([]byte, IPv6len);
for i := 0; i < IPv6len; i++ {
IPallbits[i] = 0xff
}
- IPnoaddr = new([]byte, IPv6len); // zeroed
+ IPnoaddr = make([]byte, IPv6len); // zeroed
}
// Is p all zeros?
@@ -115,7 +115,7 @@
if n != len(mask) {
return nil
}
- out := new([]byte, n);
+ out := make([]byte, n);
for i := 0; i < n; i++ {
out[i] = ip[i] & mask[i];
}
@@ -280,7 +280,7 @@
// * The last 32 bits can be in IPv4 form.
// Thus, ::ffff:1.2.3.4 is the IPv4 address 1.2.3.4.
func ParseIPv6(s string) []byte {
- p := new([]byte, 16);
+ p := make([]byte, 16);
ellipsis := -1; // position of ellipsis in p
i := 0; // index in string s
diff --git a/src/lib/net/net.go b/src/lib/net/net.go
index cdf606a..915a354 100644
--- a/src/lib/net/net.go
+++ b/src/lib/net/net.go
@@ -370,7 +370,7 @@
}
func NewConnTCP(fd *FD, raddr string) *ConnTCP {
- c := new(*ConnTCP);
+ c := new(ConnTCP);
c.fd = fd;
c.raddr = raddr;
c.SetNoDelay(true);
@@ -398,7 +398,7 @@
}
func NewConnUDP(fd *FD, raddr string) *ConnUDP {
- c := new(*ConnUDP);
+ c := new(ConnUDP);
c.fd = fd;
c.raddr = raddr;
return c
@@ -497,7 +497,7 @@
syscall.close(fd.fd);
return nil, os.ErrnoToError(e1)
}
- l = new(*ListenerTCP);
+ l = new(ListenerTCP);
l.fd = fd;
return l, nil
}
diff --git a/src/lib/net/net_darwin.go b/src/lib/net/net_darwin.go
index 9d143d3..2ad0043 100644
--- a/src/lib/net/net_darwin.go
+++ b/src/lib/net/net_darwin.go
@@ -16,7 +16,7 @@
if p == nil || port < 0 || port > 0xFFFF {
return nil, os.EINVAL
}
- sa := new(*syscall.SockaddrInet4);
+ sa := new(syscall.SockaddrInet4);
sa.len = syscall.SizeofSockaddrInet4;
sa.family = syscall.AF_INET;
sa.port[0] = byte(port>>8);
@@ -32,7 +32,7 @@
if p == nil || port < 0 || port > 0xFFFF {
return nil, os.EINVAL
}
- sa := new(*syscall.SockaddrInet6);
+ sa := new(syscall.SockaddrInet6);
sa.len = syscall.SizeofSockaddrInet6;
sa.family = syscall.AF_INET6;
sa.port[0] = byte(port>>8);
diff --git a/src/lib/net/net_linux.go b/src/lib/net/net_linux.go
index 028e6e2..19ae0b6 100644
--- a/src/lib/net/net_linux.go
+++ b/src/lib/net/net_linux.go
@@ -16,7 +16,7 @@
if p == nil || port < 0 || port > 0xFFFF {
return nil, os.EINVAL
}
- sa := new(*syscall.SockaddrInet4);
+ sa := new(syscall.SockaddrInet4);
sa.family = syscall.AF_INET;
sa.port[0] = byte(port>>8);
sa.port[1] = byte(port);
@@ -41,7 +41,7 @@
p = IPv6zero;
}
- sa := new(*syscall.SockaddrInet6);
+ sa := new(syscall.SockaddrInet6);
sa.family = syscall.AF_INET6;
sa.port[0] = byte(port>>8);
sa.port[1] = byte(port);
diff --git a/src/lib/net/parse.go b/src/lib/net/parse.go
index b9ee185..904eb64 100644
--- a/src/lib/net/parse.go
+++ b/src/lib/net/parse.go
@@ -60,7 +60,7 @@
if err != nil {
return nil
}
- return &File{fd, new([]byte, 1024)[0:0]};
+ return &File{fd, make([]byte, 1024)[0:0]};
}
package func ByteIndex(s string, c byte) int {
@@ -85,7 +85,7 @@
// Split s at any bytes in t.
package func SplitAtBytes(s string, t string) []string {
- a := new([]string, 1+CountAnyByte(s, t));
+ a := make([]string, 1+CountAnyByte(s, t));
n := 0;
last := 0;
for i := 0; i < len(s); i++ {
diff --git a/src/lib/net/port.go b/src/lib/net/port.go
index efcbc0a..fbf5308 100644
--- a/src/lib/net/port.go
+++ b/src/lib/net/port.go
@@ -17,7 +17,7 @@
var services map[string] map[string] int
func ReadServices() {
- services = new(map[string] map[string] int);
+ services = make(map[string] map[string] int);
file := Open("/etc/services");
for line, ok := file.ReadLine(); ok; line, ok = file.ReadLine() {
// "http 80/tcp www www-http # World Wide Web HTTP"
@@ -36,7 +36,7 @@
netw := portnet[j+1:len(portnet)]; // "tcp"
m, ok1 := services[netw];
if !ok1 {
- m = new(map[string] int);
+ m = make(map[string] int);
services[netw] = m;
}
for i := 0; i < len(f); i++ {
diff --git a/src/lib/net/tcpserver_test.go b/src/lib/net/tcpserver_test.go
index e5520f5..730764c 100644
--- a/src/lib/net/tcpserver_test.go
+++ b/src/lib/net/tcpserver_test.go
@@ -36,7 +36,7 @@
if err != nil {
break;
}
- echodone := new(chan int);
+ echodone := make(chan int);
go Echo(fd, echodone);
<-echodone; // make sure Echo stops
l.Close();
@@ -67,8 +67,8 @@
func DoTest(t *testing.T, network, listenaddr, dialaddr string) {
t.Logf("Test %s %s %s\n", network, listenaddr, dialaddr);
- listening := new(chan int);
- done := new(chan int);
+ listening := make(chan int);
+ done := make(chan int);
go Serve(t, network, listenaddr, listening, done);
<-listening; // wait for server to start
Connect(t, network, dialaddr);