Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version agnostic dict encoding fix #5

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

woahdae
Copy link

@woahdae woahdae commented Dec 1, 2010

Dict encoding won't work on approx. greater than R13B03 due to dict internal representation changing from a tuple of size 8 to size 9 (assuming it worked in the past, which I haven't verified). This sidesteps the issue and checks for a tuple whose first element is dict

Most forks of this project change is_record(Term, dict, 8)
to is_record(Term, dict, 9) to reflect the fact that apparently
dict records are of size 9 in versions at least greater than
R13B03 (seems to be the earliest complaint about the issue). I
haven't verified that size 8 works prior to R13B03, but I'm guessing
it did at one point.

Assuming dicts will always be represented as tuples where the first
element is the dict atom, this change would be version agnostic.

Note that the tests are a bit coupled to the bert implementation,
but with that you gain some documentation as to what it's actually
encoding/decoding.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant