Skip to content

Fix enum parsing bug regarding decimal digit characters #79

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

Merged
merged 2 commits into from
Oct 27, 2022

Conversation

stephen-hansen
Copy link
Contributor

Currently if I have an enum of the form

enum Foobar
{
    A_t = 9,
    B_t = '9'
};

CppHeaderParser will parse out the enum values as

[
    {"name": "A_t", "value": 9},
    {"name": "B_t", "value": 9}
]

Clearly this is wrong, the enum values should be

[
    {"name": "A_t", "value": 9},
    {"name": "B_t", "raw_value": "9", "value": 57}
]

where B_t represents the Unicode value for the character "9" (and not the actual integer value 9).

This PR includes the changes necessary to fix the enum parse logic. I've also updated a unit test to check this case and it passes with these changes.

@virtuald virtuald merged commit 72dc4e8 into robotpy:main Oct 27, 2022
@virtuald
Copy link
Member

Thanks!

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.

2 participants
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy