From Lucho: implement

--------D-2F1211-----------------------------
INT 2F U - DOS 3.0+ internal - NORMALIZE ASCIZ FILENAME


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@747 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
Bart Oldeman 2004-01-25 22:12:30 +00:00
parent 01d58b2836
commit ee60fb10b8

View File

@ -1905,6 +1905,27 @@ VOID ASMCFUNC int2F_12_handler(struct int2f12regs r)
r.dx = dos_gettime(); r.dx = dos_gettime();
break; break;
case 0x11: /* normalise ASCIIZ filename */
{
char c;
char FAR *s = MK_FP(r.ds, r.si);
char FAR *t = MK_FP(r.es, r.di);
do
{
c = *s++;
/* uppercase character */
/* for now, ASCII only because nls.c cannot handle DS!=SS */
if (c >= 'a' && c <= 'z')
c -= 'a' - 'A';
else if (c == '/')
c = '\\';
*t++ = c;
}
while (c);
break;
}
case 0x12: /* get length of asciiz string */ case 0x12: /* get length of asciiz string */
r.cx = fstrlen(MK_FP(r.es, r.di)) + 1; r.cx = fstrlen(MK_FP(r.es, r.di)) + 1;