From f613b39ab9e54786363e2cfcfba295a5579c5cee Mon Sep 17 00:00:00 2001 From: hidnplayr Date: Tue, 12 Nov 2013 10:37:17 +0000 Subject: [PATCH] HTTP library: preserve registers in stdcalls. git-svn-id: svn://kolibrios.org@4216 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/develop/libraries/http/http.asm | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/programs/develop/libraries/http/http.asm b/programs/develop/libraries/http/http.asm index 9413048815..496d23d261 100644 --- a/programs/develop/libraries/http/http.asm +++ b/programs/develop/libraries/http/http.asm @@ -99,11 +99,13 @@ lib_init: ;//////////////////////////////////////////////////////////////////;; jnz .error ; load proxy settings + pusha invoke ini.get_str, inifile, sec_proxy, key_proxy, proxyAddr, 256, proxyAddr invoke ini.get_int, inifile, sec_proxy, key_proxyport, 80 mov [proxyPort], eax invoke ini.get_str, inifile, sec_proxy, key_user, proxyUser, 256, proxyUser invoke ini.get_str, inifile, sec_proxy, key_password, proxyPassword, 256, proxyPassword + popa DEBUGF 1, "HTTP library: init OK\n" @@ -139,6 +141,8 @@ locals port dd ? endl + pusha + ; split the URL into hostname and pageaddr stdcall parse_url, [URL] test eax, eax @@ -201,10 +205,13 @@ endl HTTP_init_buffer [buffer], [socketnum] - ret ; return buffer ptr + popa + mov eax, [buffer] ; return buffer ptr + ret .error: DEBUGF 1, "Error!\n" + popa xor eax, eax ; return 0 = error ret @@ -230,6 +237,7 @@ locals port dd ? endl + pusha ; split the URL into hostname and pageaddr stdcall parse_url, [URL] test eax, eax @@ -293,10 +301,13 @@ endl HTTP_init_buffer [buffer], [socketnum] + popa + mov eax, [buffer] ret ; return buffer ptr .error: DEBUGF 1, "Error!\n" + popa xor eax, eax ; return 0 = error ret @@ -323,6 +334,7 @@ locals port dd ? endl + pusha ; split the URL into hostname and pageaddr stdcall parse_url, [URL] test eax, eax @@ -399,12 +411,13 @@ endl HTTP_init_buffer [buffer], [socketnum] -; mov eax, [buffer] - + popa + mov eax, [buffer] ret ; return buffer ptr .error: DEBUGF 1, "Error!\n" + popa xor eax, eax ; return 0 = error ret