support for uncompressed pbf

master
Oliver Tonnhofer 2013-07-05 10:06:55 +02:00
parent a5be2de690
commit eb449b2636
1 changed files with 13 additions and 6 deletions

View File

@ -29,13 +29,20 @@ func readPrimitiveBlock(pos Block) *osmpbf.PrimitiveBlock {
log.Panic("unmarshaling error blob: ", err)
}
buf := bytes.NewBuffer(blob.GetZlibData())
r, err := zlib.NewReader(buf)
if err != nil {
log.Panic("zlib error: ", err)
// pbf contains (uncompressed) raw or zlibdata
raw := blob.GetRaw()
if raw == nil {
buf := bytes.NewBuffer(blob.GetZlibData())
r, err := zlib.NewReader(buf)
if err != nil {
log.Panic("zlib error: ", err)
}
raw = make([]byte, blob.GetRawSize())
_, err = io.ReadFull(r, raw)
if err != nil {
log.Panic("zlib read error: ", err)
}
}
raw := make([]byte, blob.GetRawSize())
io.ReadFull(r, raw)
err = proto.Unmarshal(raw, block)
if err != nil {