Преглед на файлове

Ported names fix for Ruby to the release branch.

Joshua Haberman преди 6 години
родител
ревизия
35da84bf64
променени са 1 файла, в които са добавени 12 реда и са изтрити 8 реда
  1. 12 8
      ruby/lib/google/protobuf.rb

+ 12 - 8
ruby/lib/google/protobuf.rb

@@ -56,15 +56,19 @@ else
       module Internal
         def self.infer_package(names)
           # Package is longest common prefix ending in '.', if any.
-          min, max = names.minmax
-          last_common_dot = nil
-          min.size.times { |i|
-            if min[i] != max[i] then break end
-            if min[i] == ?. then last_common_dot = i end
-          }
-          if last_common_dot
-            return min.slice(0, last_common_dot)
+          if not names.empty?
+            min, max = names.minmax
+            last_common_dot = nil
+            min.size.times { |i|
+              if min[i] != max[i] then break end
+              if min[i] == ?. then last_common_dot = i end
+            }
+            if last_common_dot
+              return min.slice(0, last_common_dot)
+            end
           end
+
+          nil
         end
 
         class NestingBuilder