Program Listing for File fileNameSanitizer.cpp

Return to documentation for file (include/db/fileNameSanitizer.cpp)

#include "fileNameSanitizer.hpp"
#include "PDJE_LOG_SETTER.hpp"

std::optional<SANITIZED>
PDJE_Name_Sanitizer::sanitizeFileName(const std::string& fileName)
{
    if(cbase::encoded_size(fileName.size()) >= 255){
        critlog("failed to sanitize filename. from PDJE_Name_Sanitizer sanitizeFileName. ErrfileName: ");
        critlog(fileName);
        return std::nullopt;
    }
    return cbase::encode(fileName);
}


std::string
PDJE_Name_Sanitizer::getFileName(const SANITIZED& sanitized)
{
    auto decoded = cbase::decode(sanitized);
    return std::string(decoded.begin(), decoded.end());
}