@@ -481,11 +481,12 @@ bool nrf24_read_newpacket() {
481
481
if (size == 0 ) furi_string_cat_printf (str , "%c" , (char )var );
482
482
else {
483
483
char hex [9 ];
484
- snprintf (hex , sizeof (hex ), "%lX" , var );
484
+ hex [0 ] = '\0' ;
485
+ add_to_str_hex_bytes (hex , (uint8_t * )& var , size );
485
486
if ((cmd_array && cmd_array_hex ) || furi_string_end_with_str (str , "0x" )) furi_string_cat_str (str , hex );
486
487
else {
487
488
if (var >= 0 && var <= 9 ) furi_string_cat_printf (str , "%ld" , var );
488
- else furi_string_cat_printf (str , "%ld (%s)" , var , hex + ( var < 0 ? 8 - size * 2 : 0 ) );
489
+ else furi_string_cat_printf (str , "%ld (%s)" , var , hex );
489
490
}
490
491
}
491
492
if (cmd_array ) {
@@ -970,23 +971,24 @@ static void save_batch(void)
970
971
if (p2 && * (p2 - 1 ) != '*' ) { // skip string
971
972
if (* (p2 - 1 ) == ']' ) { // array
972
973
char * p3 = strchr (p , '[' );
973
- if (p3 == NULL ) p3 = p2 ;
974
- stream_write (file_stream , (uint8_t * )p , p3 - p );
975
- stream_write_cstring (file_stream , "={" );
976
- p = (p2 += 2 );
977
- do {
978
- while (is_digit (p2 , true) || * p2 == 'x' ) p2 ++ ;
979
- stream_write (file_stream , (uint8_t * )p , p2 - p );
980
- char c = * p2 ;
981
- if (c == '\0' ) break ;
982
- if (c != ',' ) {
983
- p2 = strchr (p2 , ',' );
984
- if (p2 == NULL ) break ;
985
- }
986
- stream_write_char (file_stream , ',' );
987
- p = ++ p2 ;
988
- } while (1 );
989
- stream_write_char (file_stream , '}' );
974
+ if (p3 ) {
975
+ stream_write (file_stream , (uint8_t * )p , p3 - p - (* (p3 - 2 ) == '*' ? 2 : 0 ));
976
+ stream_write_cstring (file_stream , "={" );
977
+ p = (p2 += 2 );
978
+ do {
979
+ while (is_digit (p2 , true) || * p2 == 'x' ) p2 ++ ;
980
+ stream_write (file_stream , (uint8_t * )p , p2 - p );
981
+ char c = * p2 ;
982
+ if (c == '\0' ) break ;
983
+ if (c != ',' ) {
984
+ p2 = strchr (p2 , ',' );
985
+ if (p2 == NULL ) break ;
986
+ }
987
+ stream_write_char (file_stream , ',' );
988
+ p = ++ p2 ;
989
+ } while (1 );
990
+ stream_write_char (file_stream , '}' );
991
+ }
990
992
} else {
991
993
stream_write (file_stream , (uint8_t * )p , p2 - p - (* (p2 - 2 ) == '*' ? 2 : 0 ));
992
994
stream_write_char (file_stream , '=' );
0 commit comments