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:
parent
01d58b2836
commit
ee60fb10b8
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user