@@ -1200,7 +1200,7 @@ pub fn parse_profile(
1200
1200
}
1201
1201
b"display" => {
1202
1202
field. display =
1203
- Some ( String :: from_utf8 ( attr. value . to_vec ( ) ) . unwrap ( ) ) ;
1203
+ Some ( String :: from_utf8_lossy ( & attr. value ) . to_string ( ) ) ;
1204
1204
}
1205
1205
_ => ( ) ,
1206
1206
}
@@ -1210,8 +1210,8 @@ pub fn parse_profile(
1210
1210
entry. params = Some ( vec ! [ ] ) ;
1211
1211
}
1212
1212
if attr. key . into_inner ( ) == b"index" {
1213
- let s = std :: str :: from_utf8 ( & attr . value ) . unwrap ( ) ;
1214
- paramid = Some ( s . parse :: < usize > ( ) . unwrap ( ) ) ;
1213
+ paramid =
1214
+ Some ( String :: from_utf8_lossy ( & attr . value ) . parse ( ) . unwrap ( ) ) ;
1215
1215
}
1216
1216
}
1217
1217
_ => ( ) ,
@@ -1228,11 +1228,11 @@ pub fn parse_profile(
1228
1228
let attr = attr. unwrap ( ) ;
1229
1229
match attr. key . into_inner ( ) {
1230
1230
b"name" => {
1231
- entry. name = String :: from_utf8 ( attr. value . to_vec ( ) ) . unwrap ( ) ;
1231
+ entry. name = String :: from_utf8_lossy ( & attr. value ) . to_string ( ) ;
1232
1232
}
1233
1233
b"value" => {
1234
- let s = std :: str :: from_utf8 ( & attr . value ) . unwrap ( ) ;
1235
- entry . value = Some ( s . parse ( ) . unwrap ( ) ) ;
1234
+ entry . value =
1235
+ Some ( String :: from_utf8_lossy ( & attr . value ) . parse ( ) . unwrap ( ) ) ;
1236
1236
}
1237
1237
_ => ( ) ,
1238
1238
}
@@ -1242,7 +1242,7 @@ pub fn parse_profile(
1242
1242
_ => ( ) ,
1243
1243
} ,
1244
1244
Ok ( Event :: Text ( bytes) ) => {
1245
- let s = String :: from_utf8 ( bytes. to_vec ( ) ) . unwrap ( ) ;
1245
+ let s = String :: from_utf8_lossy ( & bytes) . to_string ( ) ;
1246
1246
1247
1247
use self :: MavXmlElement :: * ;
1248
1248
match ( stack. last ( ) , stack. get ( stack. len ( ) - 2 ) ) {
@@ -1259,15 +1259,16 @@ pub fn parse_profile(
1259
1259
entry. description = Some ( s. replace ( '\n' , " " ) ) ;
1260
1260
}
1261
1261
( Some ( & Param ) , Some ( & Entry ) ) => {
1262
- if let Some ( params) = & mut entry. params {
1262
+ if let Some ( params) = entry. params . as_mut ( ) {
1263
1263
// Some messages can jump between values, like:
1264
1264
// 0, 1, 2, 7
1265
- if params. len ( ) < paramid. unwrap ( ) {
1266
- for index in params. len ( ) ..paramid. unwrap ( ) {
1265
+ let paramid = paramid. unwrap ( ) ;
1266
+ if params. len ( ) < paramid {
1267
+ for index in params. len ( ) ..paramid {
1267
1268
params. insert ( index, String :: from ( "The use of this parameter (if any), must be defined in the requested message. By default assumed not used (0)." ) ) ;
1268
1269
}
1269
1270
}
1270
- params[ paramid. unwrap ( ) - 1 ] = s;
1271
+ params[ paramid - 1 ] = s;
1271
1272
}
1272
1273
}
1273
1274
( Some ( & Include ) , Some ( & Mavlink ) ) => {
0 commit comments