goprotobuf: disable some logging, plus some safer unmarshaling.
R=r
CC=golang-dev
http://codereview.appspot.com/4482045
diff --git a/compiler/generator/generator.go b/compiler/generator/generator.go
index 2d93658..94d3768 100644
--- a/compiler/generator/generator.go
+++ b/compiler/generator/generator.go
@@ -751,7 +751,10 @@
if _, ok := g.usedPackages[fd.PackageName()]; ok {
g.P("import ", fd.PackageName(), " ", Quote(filename))
} else {
- log.Println("protoc-gen-go: discarding unused import:", filename)
+ // TODO: Re-enable this when we are more feature-complete.
+ // For instance, some protos use foreign field extensions, which we don't support.
+ // Until then, this is just annoying spam.
+ //log.Printf("protoc-gen-go: discarding unused import from %v: %v", *g.file.Name, s)
}
}
g.P()
diff --git a/proto/encode.go b/proto/encode.go
index 99ea31a..5eab33b 100644
--- a/proto/encode.go
+++ b/proto/encode.go
@@ -514,7 +514,7 @@
// Can the object marshal itself?
iv := unsafe.Unreflect(p.stype, unsafe.Pointer(&s[i]))
if m, ok := iv.(Marshaler); ok {
- if reflect.ValueOf(iv).IsNil() {
+ if isNil(reflect.ValueOf(iv)) {
return ErrNil
}
data, err := m.Marshal()