2024-07-05 16:14:56 +08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "fastfetch.h"
|
|
|
|
|
|
2026-03-29 09:28:49 +08:00
|
|
|
void ffBase64EncodeRaw(uint32_t size, const char* str, uint32_t* out_size, char* output);
|
|
|
|
|
static inline FFstrbuf ffBase64EncodeStrbuf(const FFstrbuf* in) {
|
2024-07-05 16:14:56 +08:00
|
|
|
FFstrbuf out = ffStrbufCreateA(10 + in->length * 4 / 3);
|
|
|
|
|
ffBase64EncodeRaw(in->length, in->chars, &out.length, out.chars);
|
|
|
|
|
assert(out.length < out.allocated);
|
|
|
|
|
|
|
|
|
|
return out;
|
|
|
|
|
}
|
|
|
|
|
|
2026-03-29 09:28:49 +08:00
|
|
|
bool ffBase64DecodeRaw(uint32_t size, const char* str, uint32_t* out_size, char* output);
|
|
|
|
|
static inline FFstrbuf ffBase64DecodeStrbuf(const FFstrbuf* in) {
|
2024-07-05 16:14:56 +08:00
|
|
|
FFstrbuf out = ffStrbufCreateA(10 + in->length * 3 / 4);
|
|
|
|
|
ffBase64DecodeRaw(in->length, in->chars, &out.length, out.chars);
|
|
|
|
|
assert(out.length < out.allocated);
|
|
|
|
|
|
|
|
|
|
return out;
|
|
|
|
|
}
|