floatdrop / floatdrop/gleam_xml2map

`parse` crashes when text is unicode

Aperta Adatta ai principianti
#1 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Erlang
Stelle
0
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

The following code crashes with `erlang:error(Badarg)`:
```gleam
let decoder =
decode.field("#text", decode.string, decode.success)
|> decode.field("unicode_test", _, decode.success)

assert Ok("β") == echo xml2map.parse("β", decoder)
```
I was able to patch it by using `unicode:characters_to_binary/1` instead of `list_to_binary/1` in `xml2map_ffi:value_to_bin/1`:
```diff
value_to_bin(Value) when is_list(Value) ->
- list_to_binary(Value);
+ unicode:characters_to_binary(Value);
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia da xml2map_ffi:value_to_bin/1, dove l’issue identifica la conversione che non riesce, e riproduci l’asserzione XML Unicode fornita tramite xml2map.parse. Il lavoro è completato quando l’asserzione restituisce Ok("β") senza un errore badarg di Erlang; verifica la presenza di regressioni nel comportamento FFI circostante.

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

Valutazione

Stack tecnologico
erlang
Ambito
backend
Tipo di issue
Bug
Difficoltà
2/5
Tempo stimato
1-3 ore
Stato di attività
Tranquilla
Chiarezza
Specificata chiaramente
Idoneità per principianti
72/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.