Fix StringIsAscii by explicitly setting the type to "signed char" - #3404
Merged
Conversation
Turns out "char" is not always signed. Instead it is "implementation defined". In all tests it went unnoticed because x86 is "signed". On ARM it appears to be "unsigned". This is surprising. For int etc. it is specified to be signed. Can we just burn the C standard? Who specifies this nonsense? Fix EasyRPG#3401
ghost
approved these changes
Apr 24, 2025
florianessl
approved these changes
Apr 24, 2025
Member
Author
|
Linux ARM has the same signed-ness behaviour for char (and the compiler even warns about this with the -Wextra we use :/). And just a month ago Github added ARM runners... Will add some of them so this doesn't happen again :). Also warns in liblcf: |
But only for ubuntu:24.04 and debian:12. We don't need 8 runner here.
carstene1ns
approved these changes
Apr 24, 2025
carstene1ns
left a comment
Member
There was a problem hiding this comment.
I just hope we do not use all our quota for too much runners :P
Member
Author
|
lol, I thought open source projects have infinite quota. :D |
sevenc-nanashi
pushed a commit
to sevenc-nanashi/easyrpg-player
that referenced
this pull request
May 31, 2026
Fix StringIsAscii by explicitly setting the type to "signed char"
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Turns out "char" is not always signed. Instead it is "implementation defined". In all tests it went unnoticed because x86 is "signed". On ARM it appears to be "unsigned".
This is surprising. For int etc. it is specified to be signed.
Can we just burn the C standard? Who specifies this nonsense?
Fix #3401