diff --git a/maker/golang/xdb/maker.go b/maker/golang/xdb/maker.go index 570edc2..6f0ce7f 100644 --- a/maker/golang/xdb/maker.go +++ b/maker/golang/xdb/maker.go @@ -174,8 +174,9 @@ func (m *Maker) loadSegments() error { } // check the order of the data segment - // if err := seg.RightBehind(last); err != nil { - if err := seg.After(last); err != nil { + if sorting { + // just keep going + } else if err := seg.After(last); err != nil { // return err // @Note: If the continuity is disrupted, // we will sort all these segments later. diff --git a/maker/java/src/main/java/org/lionsoul/ip2region/xdb/Maker.java b/maker/java/src/main/java/org/lionsoul/ip2region/xdb/Maker.java index 350cdc1..18764c2 100644 --- a/maker/java/src/main/java/org/lionsoul/ip2region/xdb/Maker.java +++ b/maker/java/src/main/java/org/lionsoul/ip2region/xdb/Maker.java @@ -179,7 +179,9 @@ public class Maker { throw new Exception("invalid ip segment("+version.name+" expected)"); } - if (last != null && !seg.after(last)) { + if (sorting) { + // just keep going + } else if (last != null && !seg.after(last)) { // throw new Exception("discontinuous data segment: last.eip(" // + Util.ipToString(last.endIP)+")+1 != seg.sip("+ Util.ipToString(seg.startIP) + ", "+ seg.region +")");