mirror of
https://github.com/lionsoul2014/ip2region.git
synced 2025-12-08 19:25:22 +00:00
Allow empty region info
This commit is contained in:
parent
93c5088591
commit
cb3329390a
@ -285,7 +285,8 @@ func (m *Maker) Start() error {
|
|||||||
var dataLen = len(seg.Region)
|
var dataLen = len(seg.Region)
|
||||||
if dataLen < 1 {
|
if dataLen < 1 {
|
||||||
// @TODO: could this even be a case ?
|
// @TODO: could this even be a case ?
|
||||||
return fmt.Errorf("empty region info for segment '%s'", seg)
|
// return fmt.Errorf("empty region info for segment '%s'", seg)
|
||||||
|
// Allow empty region info since 2024/09/24
|
||||||
}
|
}
|
||||||
|
|
||||||
var _offset = 0
|
var _offset = 0
|
||||||
|
|||||||
@ -142,9 +142,10 @@ func IterateSegments(handle *os.File, before func(l string), cb func(seg *Segmen
|
|||||||
return fmt.Errorf("start ip(%s) should not be greater than end ip(%s)", ps[0], ps[1])
|
return fmt.Errorf("start ip(%s) should not be greater than end ip(%s)", ps[0], ps[1])
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(ps[2]) < 1 {
|
// Allow empty region info since 2024/09/24
|
||||||
return fmt.Errorf("empty region info in segment line `%s`", l)
|
// if len(ps[2]) < 1 {
|
||||||
}
|
// return fmt.Errorf("empty region info in segment line `%s`", l)
|
||||||
|
// }
|
||||||
|
|
||||||
var seg = &Segment{
|
var seg = &Segment{
|
||||||
StartIP: sip,
|
StartIP: sip,
|
||||||
|
|||||||
@ -178,9 +178,11 @@ public class Maker {
|
|||||||
|
|
||||||
// apply the field filtering
|
// apply the field filtering
|
||||||
final String region = Util.regionFiltering(seg.region, fields);
|
final String region = Util.regionFiltering(seg.region, fields);
|
||||||
if (region.length() < 1) {
|
|
||||||
throw new Exception("empty region info for segment `"+seg+"`");
|
// allow empty region
|
||||||
}
|
// if (region.length() < 1) {
|
||||||
|
// throw new Exception("empty region info for segment `"+seg+"`");
|
||||||
|
// }
|
||||||
|
|
||||||
segments.add(new Segment(seg.startIP, seg.endIP, region));
|
segments.add(new Segment(seg.startIP, seg.endIP, region));
|
||||||
last = seg;
|
last = seg;
|
||||||
@ -235,7 +237,8 @@ public class Maker {
|
|||||||
// get the utf-8 bytes of the region info
|
// get the utf-8 bytes of the region info
|
||||||
final byte[] regionBuff = seg.region.getBytes(bytesCharset);
|
final byte[] regionBuff = seg.region.getBytes(bytesCharset);
|
||||||
if (regionBuff.length < 1) {
|
if (regionBuff.length < 1) {
|
||||||
throw new Exception("empty region info for segment `"+seg+"`");
|
// allow empty region info
|
||||||
|
// throw new Exception("empty region info for segment `"+seg+"`");
|
||||||
} else if (regionBuff.length > 0xFFFF) {
|
} else if (regionBuff.length > 0xFFFF) {
|
||||||
throw new Exception("too long region info `"+seg.region+"`: should be less than 65535 bytes");
|
throw new Exception("too long region info `"+seg.region+"`: should be less than 65535 bytes");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -169,10 +169,11 @@ public class Segment {
|
|||||||
throw new Exception("start ip("+ps[0]+") should not be greater than end ip("+ps[1]+")");
|
throw new Exception("start ip("+ps[0]+") should not be greater than end ip("+ps[1]+")");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ps[2].isEmpty()) {
|
// allow empty region info
|
||||||
br.close();
|
// if (ps[2].isEmpty()) {
|
||||||
throw new Exception("empty region info in segment line `"+ps[2]+"`");
|
// br.close();
|
||||||
}
|
// throw new Exception("empty region info in segment line `"+ps[2]+"`");
|
||||||
|
// }
|
||||||
|
|
||||||
final Segment seg = new Segment(sip, eip, ps[2]);
|
final Segment seg = new Segment(sip, eip, ps[2]);
|
||||||
// check and set the last segment
|
// check and set the last segment
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user