goprotobuf: Convert dots to underscores before finding a unique alias.
R=r
CC=golang-dev
http://codereview.appspot.com/4772041
diff --git a/compiler/generator/generator.go b/compiler/generator/generator.go
index b902a1d..f4f4edd 100644
--- a/compiler/generator/generator.go
+++ b/compiler/generator/generator.go
@@ -398,13 +398,15 @@
// Pkg is the candidate name. If f is nil, it's a builtin package like "proto" and
// has no file descriptor.
func RegisterUniquePackageName(pkg string, f *FileDescriptor) string {
+ // Convert dots to underscores before finding a unique alias.
+ pkg = strings.Map(DotToUnderscore, pkg)
+
for i, orig := 1, pkg; pkgNamesInUse[pkg]; i++ {
// It's a duplicate; must rename.
pkg = orig + strconv.Itoa(i)
}
// Install it.
pkgNamesInUse[pkg] = true
- pkg = strings.Map(DotToUnderscore, pkg)
if f != nil {
uniquePackageName[f.FileDescriptorProto] = pkg
}