Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Stream::find() not working for values above 0x7F

Aperta
#119 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

@asumo-1xts ci sta già lavorando.

Dal 7/6/2026.

  • #274 di @asumo-1xts — aperta

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
cpp
Ambito
api, embedded-iot

Direzione di ricerca

Esamina i punti di ingresso Stream::find() e i relativi findUntil() e riproduci la discrepanza segnalata con una sequenza uint8_t contenente 0xff. Conferma la gestione prevista dei valori superiori a 0x7F, quindi verifica che la corrispondenza funzioni in modo coerente in tutte le funzioni interessate e che la pull request aperta non risolva già il problema.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

I found out that the Stream::find() (and all related functions, findUntil() etc), does not work when the sequence to be found contains values above 0x7F. I believe this is because the function uses char instead of uint8_t.

Example, using these definitions:

char     a = 0xff;
uint8_t b = 0xff;

a == b is false, and therefore the find() method does not return a match when supplied a uint8_t[] array containing values above 0x7F, since the array gets casted to char. Changing the declaration of find() to uint8_t should solve the issue.

I don't know if ignoring values above 0x7F is the intended behaviour, but if that is the case I think the documentation should be more specific and explain this case better. In any case, if the current behaviour is the intended one, i do not see the reason behind it.

First time reporting something on Arduino, sorry if I overlooked something obvious.

Lingua principale
C++
Stelle
306
Fork
150
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di arduino/ArduinoCore-API

Tutte le issue di arduino/ArduinoCore-API

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.