#ifndef UTILITIES_H #define UTILITIES_H #include /** * @brief Validates whether a given string contains only characters allowed in WiFi SSIDs and passwords. * * This function checks each character in the provided string to ensure * that it contains only characters allowed in WiFi SSIDs and passwords. * It considers characters from 'A' to 'Z', 'a' to 'z', '0' to '9', as well as * the following special characters: ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ * * @param string Pointer to the string to be validated. * @param size Size of the string including the null-terminator. * @return true if the string contains only allowed characters or is NULL, * false otherwise. */ bool validateWiFiString(char *string, size_t size); /** * @brief Copies a string to a buffer, replacing invalid WiFi SSID characters with a placeholder. * * This function checks each character in the provided input string to ensure * that it contains only characters allowed in WiFi SSIDs and passwords. If a character * is invalid, it replaces it with a placeholder character (e.g., '_'). * It considers characters from 'A' to 'Z', 'a' to 'z', '0' to '9', as well as * the following special characters: ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ * * @param input Pointer to the input string to be validated and copied. * @param buffer Pointer to the buffer where the output string will be copied. * @param bufferSize Size of the buffer including the null-terminator. */ void sanitizeWiFiString(const char *input, char *buffer, size_t bufferSize); #endif // UTILITIES_H