s[strcspn(s, ".")] = 0;
for (p = s, d = s; *p; p++)
- if (isalnum(*p) || *p == '-')
+ if ((*p >= 'a' && *p <= 'z') ||
+ (*p >= 'A' && *p <= 'Z') ||
+ (*p >= '0' && *p <= '9') ||
+ *p == '-')
*(d++) = *p;
*d = 0;
if (*ret_s == 0)
snprintf(ret_s, size, "unnamed");
}
+
+ if (size >= AVAHI_LABEL_MAX)
+ ret_s[AVAHI_LABEL_MAX-1] = 0;
return ret_s;
}