@@ -379,9 +379,9 @@ namespace bencode {
379
379
return value;
380
380
381
381
if constexpr (std::is_signed_v<Integer>)
382
- value = value * 10 + (*begin++ - ' 0' ) * sgn;
382
+ value = value * 10 + (*begin++ - u8 ' 0' ) * sgn;
383
383
else
384
- value = value * 10 + (*begin++ - ' 0' );
384
+ value = value * 10 + (*begin++ - u8 ' 0' );
385
385
}
386
386
if (begin == end)
387
387
throw end_of_input_error ();
@@ -391,10 +391,10 @@ namespace bencode {
391
391
if (std::isdigit (*begin)) {
392
392
Integer digit;
393
393
if constexpr (std::is_signed_v<Integer>) {
394
- digit = (*begin++ - ' 0' ) * sgn;
394
+ digit = (*begin++ - u8 ' 0' ) * sgn;
395
395
check_over_underflow (value, digit, sgn);
396
396
} else {
397
- digit = (*begin++ - ' 0' );
397
+ digit = (*begin++ - u8 ' 0' );
398
398
check_overflow (value, digit);
399
399
}
400
400
value = value * 10 + digit;
@@ -413,10 +413,10 @@ namespace bencode {
413
413
414
414
template <typename Integer, typename Iter>
415
415
Integer decode_int (Iter &begin, Iter end) {
416
- assert (*begin == ' i' );
416
+ assert (*begin == u8 ' i' );
417
417
++begin;
418
418
Integer sgn = 1 ;
419
- if (*begin == ' -' ) {
419
+ if (*begin == u8 ' -' ) {
420
420
if constexpr (std::is_unsigned_v<Integer>) {
421
421
throw std::underflow_error (" expected unsigned integer" );
422
422
} else {
@@ -426,7 +426,7 @@ namespace bencode {
426
426
}
427
427
428
428
Integer value = decode_digits<Integer>(begin, end, sgn);
429
- if (*begin != ' e' )
429
+ if (*begin != u8 ' e' )
430
430
throw syntax_error (" expected 'e' token" );
431
431
432
432
++begin;
@@ -490,7 +490,7 @@ namespace bencode {
490
490
std::size_t len = decode_digits<std::size_t >(begin, end);
491
491
if (begin == end)
492
492
throw end_of_input_error ();
493
- if (*begin != ' :' )
493
+ if (*begin != u8 ' :' )
494
494
throw syntax_error (" expected ':' token" );
495
495
++begin;
496
496
@@ -543,7 +543,7 @@ namespace bencode {
543
543
if (begin == end)
544
544
throw end_of_input_error ();
545
545
546
- if (*begin == ' e' ) {
546
+ if (*begin == u8 ' e' ) {
547
547
if (!state.empty ()) {
548
548
++begin;
549
549
state.pop ();
@@ -559,12 +559,12 @@ namespace bencode {
559
559
throw end_of_input_error ();
560
560
}
561
561
562
- if (*begin == ' i' ) {
562
+ if (*begin == u8 ' i' ) {
563
563
store (detail::decode_int<Integer>(begin, end));
564
- } else if (*begin == ' l' ) {
564
+ } else if (*begin == u8 ' l' ) {
565
565
++begin;
566
566
state.push (store ( List{} ));
567
- } else if (*begin == ' d' ) {
567
+ } else if (*begin == u8 ' d' ) {
568
568
++begin;
569
569
state.push (store ( Dict{} ));
570
570
} else if (std::isdigit (*begin)) {
@@ -699,11 +699,11 @@ namespace bencode {
699
699
class list_encoder {
700
700
public:
701
701
inline list_encoder (Iter &iter) : iter(iter) {
702
- *iter++ = ' l' ;
702
+ *iter++ = u8 ' l' ;
703
703
}
704
704
705
705
inline ~list_encoder () {
706
- *iter++ = ' e' ;
706
+ *iter++ = u8 ' e' ;
707
707
}
708
708
709
709
template <typename T>
@@ -716,11 +716,11 @@ namespace bencode {
716
716
class dict_encoder {
717
717
public:
718
718
inline dict_encoder (Iter &iter) : iter(iter) {
719
- *iter++ = ' d' ;
719
+ *iter++ = u8 ' d' ;
720
720
}
721
721
722
722
inline ~dict_encoder () {
723
- *iter++ = ' e' ;
723
+ *iter++ = u8 ' e' ;
724
724
}
725
725
726
726
template <typename T>
@@ -744,15 +744,15 @@ namespace bencode {
744
744
745
745
template <detail::output_iterator_ref Iter>
746
746
inline void encode (Iter &&iter, integer value) {
747
- *iter++ = ' i' ;
747
+ *iter++ = u8 ' i' ;
748
748
detail::write_integer (iter, value);
749
- *iter++ = ' e' ;
749
+ *iter++ = u8 ' e' ;
750
750
}
751
751
752
752
template <detail::output_iterator_ref Iter>
753
753
inline void encode (Iter &&iter, const string_view &value) {
754
754
detail::write_integer (iter, value.size ());
755
- *iter++ = ' :' ;
755
+ *iter++ = u8 ' :' ;
756
756
std::copy (value.begin (), value.end (), iter);
757
757
}
758
758
0 commit comments