AdafruitIO_Group: compare feed names case-insensitively #124
+17
−3
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.
Feeds are matched with a case-sensitive search when adding new feed
data to a Group. This can cause different values to be published
for the same feed in a single call to save() in a way that's not
easy to see from the code.
Avoid the problem by matching feeds case-insensitively when searching
for existing feeds in the Group data list.
Note: I added the new
strcmp_nocase
function inline in theAdafruitIO_Group.cpp module since I didn't see any clear place to put
these kinds of utility functions in the library. I'm open to moving
it, renaming, restructuring it or whatever. Perhaps a better option
is to use the
String::equalsIgnoreCase()
, but constructing Stringtemporaries for each comparison seemed excessive to me.
Fixes #123