Skip to content

bool fields always return false #5

@patryk4815

Description

@patryk4815

bug - bool fields always return false
Your library somehow never executes Decoder.decodeBool, I put there @breakpoint(), but never hit.

I generated mmdb using this script:

package main

import (
	"log"
	"net"
	"os"

	"github.com/maxmind/mmdbwriter"
	"github.com/maxmind/mmdbwriter/mmdbtype"
)

func main() {
	writer, err := mmdbwriter.New(mmdbwriter.Options{
		DatabaseType: "example",
		RecordSize:   24,
		IncludeReservedNetworks: true,
	})
	if err != nil {
		log.Fatal(err)
	}

	{
		_, network, _ := net.ParseCIDR("1.2.3.0/24")
		data := mmdbtype.Map{
			"foo":       mmdbtype.Uint16(0xffa1),
			"is_foo":    mmdbtype.Bool(false),
			"is_bar": mmdbtype.Bool(true),
		}
		err = writer.Insert(network, data)
		if err != nil {
			log.Fatal(err)
		}
	}
	{
		_, network, _ := net.ParseCIDR("127.0.0.0/8")
		data := mmdbtype.Map{
			"foo":       mmdbtype.Uint16(0xfaf2),
			"is_foo":    mmdbtype.Bool(true),
			"is_bar": mmdbtype.Bool(false),
		}
		err = writer.Insert(network, data)
		if err != nil {
			log.Fatal(err)
		}
	}

	fh, err := os.Create("db.mmdb")
	if err != nil {
		log.Fatal(err)
	}
	defer fh.Close()
	writer.WriteTo(fh)
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions