+static String sanitize_string (const char *str, int maxlen = 32)
+{
+ String ret;
+ static char acceptables[] =
+ "abcdefghijklmnopqrstuvwxyz"
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ "1234567890_-.@:";
+
+ char *newstr = NULL;
+ if (maxlen > 0) {
+ newstr = new char[maxlen + 1];
+ }
+ int len = 0;
+ if (newstr) {
+ memset (newstr, 0x00, sizeof (char) * (maxlen + 1));
+
+ if (str) {
+ while (len < maxlen && str[len] != '\0' && strchr (acceptables, str[len]) != NULL) {
+ newstr[len] = str[len];
+ len++;
+ }
+ ret = newstr;
+ }
+ delete [] newstr;
+ }
+ return ret;
+}
+