Fix nls upcase problem with SS!=DS.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@728 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
parent
a56e592871
commit
21f2b2ec5e
@ -72,6 +72,11 @@ void __int__(int);
|
|||||||
#define CDECL _cdecl
|
#define CDECL _cdecl
|
||||||
#define PASCAL pascal
|
#define PASCAL pascal
|
||||||
#define __int__(intno) asm int intno;
|
#define __int__(intno) asm int intno;
|
||||||
|
#define _SS SS()
|
||||||
|
static unsigned short __inline SS(void)
|
||||||
|
{
|
||||||
|
asm mov ax, ss;
|
||||||
|
}
|
||||||
|
|
||||||
#if defined(M_I286) /* /G3 doesn't set M_I386, but sets M_I286 TE */
|
#if defined(M_I286) /* /G3 doesn't set M_I386, but sets M_I286 TE */
|
||||||
#define I386
|
#define I386
|
||||||
@ -85,6 +90,9 @@ void __int__(int);
|
|||||||
#define far __far
|
#define far __far
|
||||||
#define CDECL __cdecl
|
#define CDECL __cdecl
|
||||||
#define PASCAL pascal
|
#define PASCAL pascal
|
||||||
|
#define _SS SS()
|
||||||
|
unsigned short SS(void);
|
||||||
|
#pragma aux SS = "mov dx,ss" value [dx];
|
||||||
|
|
||||||
#if _M_IX86 >= 300
|
#if _M_IX86 >= 300
|
||||||
#define I386
|
#define I386
|
||||||
|
@ -475,9 +475,8 @@ VOID DosUpMem(VOID FAR * str, unsigned len)
|
|||||||
unsigned char ASMCFUNC DosUpChar(unsigned char ch)
|
unsigned char ASMCFUNC DosUpChar(unsigned char ch)
|
||||||
/* upcase a single character */
|
/* upcase a single character */
|
||||||
{
|
{
|
||||||
assertDSeqSS(); /* because "&ch" */
|
|
||||||
log(("NLS: DosUpChar(): in ch=%u (%c)\n", ch, ch > 32 ? ch : ' '));
|
log(("NLS: DosUpChar(): in ch=%u (%c)\n", ch, ch > 32 ? ch : ' '));
|
||||||
DosUpMem((UBYTE FAR *) & ch, 1);
|
DosUpMem(MK_FP(_SS, &ch), 1);
|
||||||
log(("NLS: DosUpChar(): upcased ch=%u (%c)\n", ch, ch > 32 ? ch : ' '));
|
log(("NLS: DosUpChar(): upcased ch=%u (%c)\n", ch, ch > 32 ? ch : ' '));
|
||||||
return ch;
|
return ch;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user