summaryrefslogtreecommitdiff
path: root/src/simd/base64.cpp
blob: 63f26b50554ffc5923d7d0e54cd421c016c219f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <simdutf.h>

extern "C" {

size_t ghostty_simd_base64_max_length(const char* input, size_t length) {
  return simdutf::maximal_binary_length_from_base64(input, length);
}

size_t ghostty_simd_base64_decode(const char* input,
                                  size_t length,
                                  char* output) {
  simdutf::result r = simdutf::base64_to_binary(input, length, output);
  if (r.error) {
    return -1;
  }

  return r.count;
}

}  // extern "C"