Skip to content

Version agnostic dict encoding fix#5

Open
woahdae wants to merge 1 commit intomojombo:masterfrom
crystalcommerce:version_agnostic_dict_fix
Open

Version agnostic dict encoding fix#5
woahdae wants to merge 1 commit intomojombo:masterfrom
crystalcommerce:version_agnostic_dict_fix

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