diff options
author | Christopher Faylor <me@cgf.cx> | 2002-06-26 09:29:41 +0400 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2002-06-26 09:29:41 +0400 |
commit | f279e522b05950655c6b4699ecd7a7f115261bc8 (patch) | |
tree | 9ef00309bf328db0d891c4078147d830d84375c4 /winsup/cygwin/autoload.cc | |
parent | 109e4822783c39090bc4c1d3a0ff670ca56839bb (diff) |
* autoload (noload): Avoid clobbering bx register.
* environ.cc (codepage_init): Use case insensitive match.
* fhandler_console.cc (cp_get_internal): Delete.
(con_to_str): Use get_cp to derive code page.
(str_to_con): Ditto.
* miscfuncs.cc (get_cp): New function.
(sys_wcstombs): New function. Converted from macro.
(sys_mbstowcs): Ditto.
* winsup.h: Reflect above changes.
Diffstat (limited to 'winsup/cygwin/autoload.cc')
-rw-r--r-- | winsup/cygwin/autoload.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/winsup/cygwin/autoload.cc b/winsup/cygwin/autoload.cc index 9bae17deb..d910b43ed 100644 --- a/winsup/cygwin/autoload.cc +++ b/winsup/cygwin/autoload.cc @@ -122,10 +122,10 @@ noload: \n\ jz 1f # Nope. \n\ decl %eax # Yes. This is the # of bytes + 1 \n\ popl %edx # Caller's caller \n\ - movl %eax,%ebx # For manipulation \n\ - andl $0xffff,%eax # Only want lower word \n\ addl %eax,%esp # Pop off bytes \n\ - pushl %ebx # Save for later \n\ + andl $0xffff0000,%eax# upper word \n\ + subl %eax,%esp # adjust for possible return value \n\ + pushl %eax # Save for later \n\ movl $127,%eax # ERROR_PROC_NOT_FOUND \n\ pushl %eax # First argument \n\ call _SetLastError@4 # Set it \n\ |