Fix INT 21h, AH = 29h: stop at the first non-printable character, make
all the characters uppercase in the FCB.
svn path=/trunk/; revision=67387
/* Parse the file name */
i = 0;
/* Parse the file name */
i = 0;
- while (*FileName && (i < 8))
+ while ((*FileName >= 0x20) && (i < 8))
{
if (*FileName == '.') break;
else if (*FileName == '*')
{
if (*FileName == '.') break;
else if (*FileName == '*')
- Fcb->FileName[i++] = *FileName++;
+ Fcb->FileName[i++] = RtlUpperChar(*FileName++);
}
/* Fill the whole field with blanks only if bit 2 is not set */
}
/* Fill the whole field with blanks only if bit 2 is not set */
}
/* Skip to the extension part */
}
/* Skip to the extension part */
- while (*FileName && *FileName != '.') FileName++;
+ while (*FileName >= 0x20 && *FileName != '.') FileName++;
if (*FileName == '.') FileName++;
/* Now parse the extension */
i = 0;
FillChar = ' ';
if (*FileName == '.') FileName++;
/* Now parse the extension */
i = 0;
FillChar = ' ';
- while (*FileName && (i < 3))
+ while ((*FileName >= 0x20) && (i < 3))
{
if (*FileName == '*')
{
{
if (*FileName == '*')
{
- Fcb->FileExt[i++] = *FileName++;
+ Fcb->FileExt[i++] = RtlUpperChar(*FileName++);
}
/* Fill the whole field with blanks only if bit 3 is not set */
}
/* Fill the whole field with blanks only if bit 3 is not set */