| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent df74d66 commit 2e3367b
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,4 +1,4 @@ | |||
| 1 | - /* auto-generated on 2024-11-12 20:00:19 -0500. Do not edit! */ | ||
| 1 | + /* auto-generated on 2024-11-14 14:52:31 -0500. Do not edit! */ | ||
| 2 | 2 | /* begin file src/simdutf.cpp */ | |
| 3 | 3 | #include "simdutf.h" | |
| 4 | 4 | // We include base64_tables once. | |
@@ -7229,6 +7229,11 @@ template <class char_type> bool is_ascii_white_space(char_type c) { | |||
| 7229 | 7229 | return c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f'; | |
| 7230 | 7230 | } | |
| 7231 | 7231 | ||
| 7232 | + template <class char_type> bool is_ascii_white_space_or_padding(char_type c) { | ||
| 7233 | + return c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f' || | ||
| 7234 | + c == '='; | ||
| 7235 | + } | ||
| 7236 | + | ||
| 7232 | 7237 | template <class char_type> bool is_eight_byte(char_type c) { | |
| 7233 | 7238 | if (sizeof(char_type) == 1) { | |
| 7234 | 7239 | return true; | |
@@ -9491,6 +9496,21 @@ simdutf_warn_unused result base64_to_binary_safe_impl( | |||
| 9491 | 9496 | if (r.error != error_code::INVALID_BASE64_CHARACTER && | |
| 9492 | 9497 | r.error != error_code::BASE64_EXTRA_BITS) { | |
| 9493 | 9498 | outlen = r.output_count; | |
| 9499 | + if (last_chunk_handling_options == stop_before_partial) { | ||
| 9500 | + if ((r.output_count % 3) != 0) { | ||
| 9501 | + bool empty_trail = true; | ||
| 9502 | + for (size_t i = r.input_count; i < length; i++) { | ||
| 9503 | + if (!scalar::base64::is_ascii_white_space_or_padding(input[i])) { | ||
| 9504 | + empty_trail = false; | ||
| 9505 | + break; | ||
| 9506 | + } | ||
| 9507 | + } | ||
| 9508 | + if (empty_trail) { | ||
| 9509 | + r.input_count = length; | ||
| 9510 | + } | ||
| 9511 | + } | ||
| 9512 | + return {r.error, r.input_count}; | ||
| 9513 | + } | ||
| 9494 | 9514 | return {r.error, length}; | |
| 9495 | 9515 | } | |
| 9496 | 9516 | return r; | |
@@ -9557,7 +9577,11 @@ simdutf_warn_unused result base64_to_binary_safe_impl( | |||
| 9557 | 9577 | } | |
| 9558 | 9578 | if (rr.error == error_code::SUCCESS && | |
| 9559 | 9579 | last_chunk_handling_options == stop_before_partial) { | |
| 9560 | - rr.count = tail_input - input; | ||
| 9580 | + if (tail_input > input + input_index) { | ||
| 9581 | + rr.count = tail_input - input; | ||
| 9582 | + } else if (r.input_count > 0) { | ||
| 9583 | + rr.count = r.input_count + rr.count; | ||
| 9584 | + } | ||
| 9561 | 9585 | return rr; | |
| 9562 | 9586 | } | |
| 9563 | 9587 | rr.count += input_index; | |
@@ -15891,9 +15915,9 @@ compress_decode_base64(char *dst, const char_type *src, size_t srclen, | |||
| 15891 | 15915 | if (src < srcend + equalsigns) { | |
| 15892 | 15916 | full_result r = scalar::base64::base64_tail_decode( | |
| 15893 | 15917 | dst, src, srcend - src, equalsigns, options, last_chunk_options); | |
| 15918 | + r.input_count += size_t(src - srcinit); | ||
| 15894 | 15919 | if (r.error == error_code::INVALID_BASE64_CHARACTER || | |
| 15895 | 15920 | r.error == error_code::BASE64_EXTRA_BITS) { | |
| 15896 | - r.input_count += size_t(src - srcinit); | ||
| 15897 | 15921 | return r; | |
| 15898 | 15922 | } else { | |
| 15899 | 15923 | r.output_count += size_t(dst - dstinit); | |
@@ -23716,9 +23740,9 @@ compress_decode_base64(char *dst, const chartype *src, size_t srclen, | |||
| 23716 | 23740 | if (src < srcend + equalsigns) { | |
| 23717 | 23741 | full_result r = scalar::base64::base64_tail_decode( | |
| 23718 | 23742 | dst, src, srcend - src, equalsigns, options, last_chunk_options); | |
| 23743 | + r.input_count += size_t(src - srcinit); | ||
| 23719 | 23744 | if (r.error == error_code::INVALID_BASE64_CHARACTER || | |
| 23720 | 23745 | r.error == error_code::BASE64_EXTRA_BITS) { | |
| 23721 | - r.input_count += size_t(src - srcinit); | ||
| 23722 | 23746 | return r; | |
| 23723 | 23747 | } else { | |
| 23724 | 23748 | r.output_count += size_t(dst - dstinit); | |
@@ -28552,9 +28576,9 @@ compress_decode_base64(char *dst, const chartype *src, size_t srclen, | |||
| 28552 | 28576 | if (src < srcend + equalsigns) { | |
| 28553 | 28577 | full_result r = scalar::base64::base64_tail_decode( | |
| 28554 | 28578 | dst, src, srcend - src, equalsigns, options, last_chunk_options); | |
| 28579 | + r.input_count += size_t(src - srcinit); | ||
| 28555 | 28580 | if (r.error == error_code::INVALID_BASE64_CHARACTER || | |
| 28556 | 28581 | r.error == error_code::BASE64_EXTRA_BITS) { | |
| 28557 | - r.input_count += size_t(src - srcinit); | ||
| 28558 | 28582 | return r; | |
| 28559 | 28583 | } else { | |
| 28560 | 28584 | r.output_count += size_t(dst - dstinit); | |
@@ -38307,9 +38331,9 @@ compress_decode_base64(char *dst, const chartype *src, size_t srclen, | |||
| 38307 | 38331 | if (src < srcend + equalsigns) { | |
| 38308 | 38332 | full_result r = scalar::base64::base64_tail_decode( | |
| 38309 | 38333 | dst, src, srcend - src, equalsigns, options, last_chunk_options); | |
| 38334 | + r.input_count += size_t(src - srcinit); | ||
| 38310 | 38335 | if (r.error == error_code::INVALID_BASE64_CHARACTER || | |
| 38311 | 38336 | r.error == error_code::BASE64_EXTRA_BITS) { | |
| 38312 | - r.input_count += size_t(src - srcinit); | ||
| 38313 | 38337 | return r; | |
| 38314 | 38338 | } else { | |
| 38315 | 38339 | r.output_count += size_t(dst - dstinit); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,4 +1,4 @@ | |||
| 1 | - /* auto-generated on 2024-11-12 20:00:19 -0500. Do not edit! */ | ||
| 1 | + /* auto-generated on 2024-11-14 14:52:31 -0500. Do not edit! */ | ||
| 2 | 2 | /* begin file include/simdutf.h */ | |
| 3 | 3 | #ifndef SIMDUTF_H | |
| 4 | 4 | #define SIMDUTF_H | |
@@ -670,7 +670,7 @@ SIMDUTF_DISABLE_UNDESIRED_WARNINGS | |||
| 670 | 670 | #define SIMDUTF_SIMDUTF_VERSION_H | |
| 671 | 671 | ||
| 672 | 672 | /** The version of simdutf being used (major.minor.revision) */ | |
| 673 | - #define SIMDUTF_VERSION "5.6.1" | ||
| 673 | + #define SIMDUTF_VERSION "5.6.2" | ||
| 674 | 674 | ||
| 675 | 675 | namespace simdutf { | |
| 676 | 676 | enum { | |
@@ -685,7 +685,7 @@ enum { | |||
| 685 | 685 | /** | |
| 686 | 686 | * The revision (major.minor.REVISION) of simdutf being used. | |
| 687 | 687 | */ | |
| 688 | - SIMDUTF_VERSION_REVISION = 1 | ||
| 688 | + SIMDUTF_VERSION_REVISION = 2 | ||
| 689 | 689 | }; | |
| 690 | 690 | } // namespace simdutf | |
| 691 | 691 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments