/* down case the content type string */
for (dp = ci->ci_type; *dp; dp++)
- if (isalpha((unsigned char) *dp) && isupper ((unsigned char) *dp))
- *dp = tolower ((unsigned char) *dp);
+ *dp = tolower ((unsigned char) *dp);
while (isspace ((unsigned char) *cp))
cp++;
/* down case the content subtype string */
for (dp = ci->ci_subtype; *dp; dp++)
- if (isalpha((unsigned char) *dp) && isupper ((unsigned char) *dp))
- *dp = tolower ((unsigned char) *dp);
+ *dp = tolower ((unsigned char) *dp);
magic_skip:
while (isspace ((unsigned char) *cp))
/* down case the attribute name */
for (dp = cp; istoken ((unsigned char) *dp); dp++)
- if (isalpha((unsigned char) *dp) && isupper ((unsigned char) *dp))
- *dp = tolower ((unsigned char) *dp);
+ *dp = tolower ((unsigned char) *dp);
for (up = dp; isspace ((unsigned char) *dp);)
dp++;
q = buffer;
bufsize = sizeof(buffer);
for (p = pm->pm_value; *p != '\0' && bufsize > 1; p++, q++, bufsize--) {
+ /* FIXME: !iscntrl should perhaps be isprint as that allows all
+ * classes bar cntrl, whereas the cntrl class can include those
+ * in space and blank.
+ * http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap07.html */
if (isascii((unsigned char) *p) && !iscntrl((unsigned char) *p))
*q = *p;
else