@@ -379,9 +379,9 @@ namespace bencode {
379379 return value;
380380
381381 if constexpr (std::is_signed_v<Integer>)
382- value = value * 10 + (*begin++ - ' 0' ) * sgn;
382+ value = value * 10 + (*begin++ - u8 ' 0' ) * sgn;
383383 else
384- value = value * 10 + (*begin++ - ' 0' );
384+ value = value * 10 + (*begin++ - u8 ' 0' );
385385 }
386386 if (begin == end)
387387 throw end_of_input_error ();
@@ -391,10 +391,10 @@ namespace bencode {
391391 if (std::isdigit (*begin)) {
392392 Integer digit;
393393 if constexpr (std::is_signed_v<Integer>) {
394- digit = (*begin++ - ' 0' ) * sgn;
394+ digit = (*begin++ - u8 ' 0' ) * sgn;
395395 check_over_underflow (value, digit, sgn);
396396 } else {
397- digit = (*begin++ - ' 0' );
397+ digit = (*begin++ - u8 ' 0' );
398398 check_overflow (value, digit);
399399 }
400400 value = value * 10 + digit;
@@ -413,10 +413,10 @@ namespace bencode {
413413
414414 template <typename Integer, typename Iter>
415415 Integer decode_int (Iter &begin, Iter end) {
416- assert (*begin == ' i' );
416+ assert (*begin == u8 ' i' );
417417 ++begin;
418418 Integer sgn = 1 ;
419- if (*begin == ' -' ) {
419+ if (*begin == u8 ' -' ) {
420420 if constexpr (std::is_unsigned_v<Integer>) {
421421 throw std::underflow_error (" expected unsigned integer" );
422422 } else {
@@ -426,7 +426,7 @@ namespace bencode {
426426 }
427427
428428 Integer value = decode_digits<Integer>(begin, end, sgn);
429- if (*begin != ' e' )
429+ if (*begin != u8 ' e' )
430430 throw syntax_error (" expected 'e' token" );
431431
432432 ++begin;
@@ -490,7 +490,7 @@ namespace bencode {
490490 std::size_t len = decode_digits<std::size_t >(begin, end);
491491 if (begin == end)
492492 throw end_of_input_error ();
493- if (*begin != ' :' )
493+ if (*begin != u8 ' :' )
494494 throw syntax_error (" expected ':' token" );
495495 ++begin;
496496
@@ -543,7 +543,7 @@ namespace bencode {
543543 if (begin == end)
544544 throw end_of_input_error ();
545545
546- if (*begin == ' e' ) {
546+ if (*begin == u8 ' e' ) {
547547 if (!state.empty ()) {
548548 ++begin;
549549 state.pop ();
@@ -559,12 +559,12 @@ namespace bencode {
559559 throw end_of_input_error ();
560560 }
561561
562- if (*begin == ' i' ) {
562+ if (*begin == u8 ' i' ) {
563563 store (detail::decode_int<Integer>(begin, end));
564- } else if (*begin == ' l' ) {
564+ } else if (*begin == u8 ' l' ) {
565565 ++begin;
566566 state.push (store ( List{} ));
567- } else if (*begin == ' d' ) {
567+ } else if (*begin == u8 ' d' ) {
568568 ++begin;
569569 state.push (store ( Dict{} ));
570570 } else if (std::isdigit (*begin)) {
@@ -699,11 +699,11 @@ namespace bencode {
699699 class list_encoder {
700700 public:
701701 inline list_encoder (Iter &iter) : iter(iter) {
702- *iter++ = ' l' ;
702+ *iter++ = u8 ' l' ;
703703 }
704704
705705 inline ~list_encoder () {
706- *iter++ = ' e' ;
706+ *iter++ = u8 ' e' ;
707707 }
708708
709709 template <typename T>
@@ -716,11 +716,11 @@ namespace bencode {
716716 class dict_encoder {
717717 public:
718718 inline dict_encoder (Iter &iter) : iter(iter) {
719- *iter++ = ' d' ;
719+ *iter++ = u8 ' d' ;
720720 }
721721
722722 inline ~dict_encoder () {
723- *iter++ = ' e' ;
723+ *iter++ = u8 ' e' ;
724724 }
725725
726726 template <typename T>
@@ -744,15 +744,15 @@ namespace bencode {
744744
745745 template <detail::output_iterator_ref Iter>
746746 inline void encode (Iter &&iter, integer value) {
747- *iter++ = ' i' ;
747+ *iter++ = u8 ' i' ;
748748 detail::write_integer (iter, value);
749- *iter++ = ' e' ;
749+ *iter++ = u8 ' e' ;
750750 }
751751
752752 template <detail::output_iterator_ref Iter>
753753 inline void encode (Iter &&iter, const string_view &value) {
754754 detail::write_integer (iter, value.size ());
755- *iter++ = ' :' ;
755+ *iter++ = u8 ' :' ;
756756 std::copy (value.begin (), value.end (), iter);
757757 }
758758
0 commit comments