- 06 Mar, 2011 12 commits
-
-
Brad Fitzpatrick authored
R=rsc CC=golang-dev https://golang.org/cl/4253058
-
Gustavo Niemeyer authored
The recursive algorithm used to parse types in cgo has a bug related to building the C type representation. As an example, when the recursion starts at a type *T, the C type representation won't be known until type T itself is parsed. But then, it is possible that type T references the type **T internally. The latter representation is built based on the one of *T, which started the recursion, so it won't attempt to parse it again, and will instead use the current representation value for *T, which is still empty at this point. This problem was fixed by introducing a simple TypeRepr type which builds the string representation lazily, analogous to how the Go type information is built within the same algorithm. This way, even if a type representation is still unknown at some level in the recursion, representations dependant on it can still be created correctly. R=rsc CC=golang-dev https://golang.org/cl/4244052
-
Gustavo Niemeyer authored
The path package now contains only functions which deal with slashed paths, sensible for any OS when dealing with network paths or URLs. OS-specific functionality has been moved into the new path/filepath package. This also includes fixes for godoc, goinstall and other packages which were mixing slashed and OS-specific paths. R=rsc, gri, mattn, brainman CC=golang-dev https://golang.org/cl/4252044
-
Robert Hencke authored
R=rsc CC=golang-dev https://golang.org/cl/4266044
-
Russ Cox authored
Cgo changed to write these files into _obj, but some trees may still have the old ones in the source directory. They need to be removed during make clean so that a subsequent build will use the ones in _obj. R=r, r2 CC=golang-dev https://golang.org/cl/4254056
-
Petar Maymounkov authored
R=rsc1, mattn, bradfitzwork, pascal, bradfitzgo CC=golang-dev https://golang.org/cl/4214042
-
Devon H. O'Dell authored
FreeBSD's execve implementation has an integer underflow in a bounds test which causes it to erroneously think the argument list is too long when argv[0] is longer than interpreter + path. R=rsc, bradfitz, rsc1 CC=golang-dev https://golang.org/cl/4259056
-
Rob Pike authored
also fix a caching bug. R=rsc CC=golang-dev https://golang.org/cl/4261049
-
Russ Cox authored
R=bradfitzgo, bradfitzwork CC=golang-dev https://golang.org/cl/4264047
-
Robert Hencke authored
R=golang-dev, bradfitzgo CC=golang-dev https://golang.org/cl/4235052
-
Brad Fitzpatrick authored
R=dsymonds CC=golang-dev https://golang.org/cl/4256053
-
Rob Pike authored
A change a while back stop sending data for unexported fields but due to an oversight the type info was being sent also. It's inconsequential but wrong to do that. R=rsc, rh CC=golang-dev https://golang.org/cl/4252058
-
- 05 Mar, 2011 10 commits
-
-
Brad Fitzpatrick authored
R=rh CC=golang-dev https://golang.org/cl/4239060
-
Brad Fitzpatrick authored
This also breaks fs_test into two parts as the range tests test http's private httpRange and I had to change the fs_test package from "http" to "http_test" to use httptest which otherwise has a cyclic depedency back on http. Aside: we should start exposing the Range stuff in the future. R=rsc CC=golang-dev https://golang.org/cl/4261047
-
Dave Cheney authored
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/4243058
-
Petar Maymounkov authored
R=rsc, bradfitzgo, bradfitzwork CC=golang-dev https://golang.org/cl/4266042
-
Russ Cox authored
Fixes #53. R=bradfitzgo, bradfitzwork CC=golang-dev https://golang.org/cl/4240075
-
Russ Cox authored
The test was checking for a buffer to be empty but actually racing with the background goroutine that was emptying it. Left a comment so that the check is not reintroduced later. Fixes #1557. R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/4248063
-
Russ Cox authored
Passing a frame size of 1 was causing the cgo callback to push 1 byte of arguments onto the stack, making the stack pointer misaligned, which had the effect of hiding all the pointers on the stack from the garbage collector. SWIG only wraps calls to C++ virtual methods, so it always has at least 1 argument, so SWIG does not need to be fixed too. Fixes #1328. R=iant CC=golang-dev https://golang.org/cl/4261046
-
Russ Cox authored
R=r CC=golang-dev https://golang.org/cl/4266041
-
David Symonds authored
R=rsc, r CC=golang-dev https://golang.org/cl/4260051
-
David Symonds authored
R=rsc CC=golang-dev https://golang.org/cl/4259051
-
- 04 Mar, 2011 10 commits
-
-
Rob Pike authored
These allow data items to control their own representation. For now, the implementation requires that the value passed to Encode and Decode must be exactly the type of the methods' receiver; it cannot be, for instance, T if the receiver is of type *T. This will be fixed in a later CL. R=rsc CC=golang-dev https://golang.org/cl/4235051
-
Brad Fitzpatrick authored
The tests require Perl, not commonly installed on Windows. R=rsc, brainman CC=golang-dev https://golang.org/cl/4239057
-
Russ Cox authored
(Shouldn't happen, but if it does, it's useful to be able to use printf to debug it.) R=r CC=golang-dev https://golang.org/cl/4250057
-
Rob Pike authored
This allows a data item that can marshal itself to be transmitted by its own encoding, enabling some types to be handled that cannot be normally, plus providing a way to use gobs on data with unexported fields. In this CL, the necessary methods are protected by leading _, so only package gob can use the facilities (in its tests, of course); this code is not ready for real use yet. I could be talked into enabling it for experimentation, though. The main drawback is that the methods must be implemented by the actual type passed through, not by an indirection from it. For instance, if *T implements GobEncoder, you must send a *T, not a T. This will be addressed in due course. Also there is improved commentary and a couple of unrelated minor bug fixes. R=rsc CC=golang-dev https://golang.org/cl/4243056
-
Brad Fitzpatrick authored
http.Transport looks nicer, and ServerTransport doesn't make much sense anyway. R=rsc CC=golang-dev https://golang.org/cl/4239056
-
Brad Fitzpatrick authored
R=rsc, adg, jnw, bradfitzwork CC=golang-dev https://golang.org/cl/4247048
-
Andrew Gerrand authored
R=rsc CC=golang-dev https://golang.org/cl/4264043
-
Andrew Gerrand authored
R=r, fw, gri, r2, yiyus CC=golang-dev https://golang.org/cl/4248051
-
Andrew Gerrand authored
R=r, rsc, gri CC=golang-dev https://golang.org/cl/4257049
-
Robert Griesemer authored
R=r, r2 CC=golang-dev https://golang.org/cl/4252053
-
- 03 Mar, 2011 8 commits
-
-
Robert Griesemer authored
R=rsc, iant, r, r2 CC=golang-dev https://golang.org/cl/4256050
-
Brad Fitzpatrick authored
R=golang-dev, rsc, bradfitzwork CC=golang-dev https://golang.org/cl/4259048
-
Brad Fitzpatrick authored
Currently all http handlers reply to HTTP/1.1 requests with chunked responses. This patch allows handlers to opt-out of that behavior by pre-declaring their Content-Length (which is then enforced) and unsetting their Transfer-Encoding or setting it to the "identity" encoding. R=rsc, bradfitzwork CC=golang-dev https://golang.org/cl/4245058
-
Russ Cox authored
It's a little confusing that os.TempDir and ioutil.TempDir have different meanings. I don't know what to change the names to, if anything. At least they also have different signatures. R=golang-dev, bradfitzgo, r, gri CC=golang-dev https://golang.org/cl/4247051
-
Roger Peppe authored
R=r, rh, gri, rsc CC=golang-dev https://golang.org/cl/4237055
-
Roger Peppe authored
Detect when scan is being called recursively and re-use the same scan state. On my machine, for a recursion-heavy benchmark, this results in 44x speed up. This does impose a 4% penalty on the non-recursive case, which can be removed by heap-allocating the saved state, at 40% performance penalty on the recursive case. Either way is fine with me. R=r CC=golang-dev https://golang.org/cl/4253049
-
Russ Cox authored
This change makes it possible to take the address of a struct field or slice element in order to call a method that requires a pointer receiver. Existing code that uses the Value.Addr method will have to change (as gob does in this CL) to call UnsafeAddr instead. R=r, rog CC=golang-dev https://golang.org/cl/4239052
-
Russ Cox authored
R=ken2 CC=golang-dev https://golang.org/cl/4245055
-