Overdesign

Dec 31, 2015 10:29

Скільки програмістів потрібно щоб замінити лампочкуСкільки LOC потрібно щоб на OpenSSL звмутити base64?

std::string base64(const std::string& value)
{
BIO* bio = BIO_new(BIO_f_base64());
BIO_set_flags(bio, BIO_FLAGS_BASE64_NO_NL);
BIO_push(bio, BIO_new(BIO_s_mem()));
BIO_write(bio, value.c_str(), value.size());
BIO_flush(bio);

std::string res;
char* data = nullptr;
size_t size = BIO_get_mem_data(bio, &data);
if (size != 0 && data != nullptr)
res.assign(data, size);

BIO_free_all(bio);

return res;
}

Насправді більше, бо треба ж перевіряти виділення пам'яті...

cpp, ідіотизм, програмування

Previous post Next post
Up