37 lines
1.6 KiB
C
37 lines
1.6 KiB
C
|
#ifndef UTILITIES_H
|
||
|
#define UTILITIES_H
|
||
|
|
||
|
#include <Arduino.h>
|
||
|
|
||
|
/**
|
||
|
* @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
|