Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

avoid padding a struct to be hashed#2024

Open
wsdwsd0829 wants to merge 1 commit intoTextureGroup:master from
wsdwsd0829:avoid-padding-hash-struct
Open

avoid padding a struct to be hashed #2024
wsdwsd0829 wants to merge 1 commit intoTextureGroup:master from
wsdwsd0829:avoid-padding-hash-struct

Conversation

@wsdwsd0829
Copy link
Contributor

@wsdwsd0829 wsdwsd0829 commented Sep 14, 2021

alternatively

  • (NSUInteger)hash
    {
    #pragma pack(push,1)
    struct {
    CGSize viewportSize;
    ASScrollDirection scrollableDirections;
    NSUInteger elementsHash;
    NSUInteger layoutDelegateClassHash;
    NSUInteger additionalInfoHash;
    } data = {
    _viewportSize,
    _scrollableDirections,
    _elements.hash,
    _layoutDelegateClass.hash,
    [_additionalInfo hash]
    };
    #pragma pack(pop)
    return ASHashBytes(&data, sizeof(data));
    }

I am less confident about what #pragma pack(push,1) is doing

Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

Copy link
Contributor

rcancro commented Sep 17, 2021

Let's try these things and see if they work:

  • Try setting the values of the struct explicitly like the comment in ASHashBytes suggests
  • Try changing the type of ASScrollDirection from unsigned char to NSUInteger

If neither of those work, let's land this! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Comments

AltStyle によって変換されたページ (->オリジナル) /