[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#8270) win32: fix conversion error



--001a11c23788b1353405228fbfbd
Content-Type: text/plain; charset=UTF-8

2015-10-20 23:09 GMT+03:00 <hyc@symas.com>:

> nacho.resa@gmail.com wrote:
> > --047d7bb03a5ac118d20522842ead
> > Content-Type: text/plain; charset=UTF-8
> >
> > So I took another closer look at this issue and I went for this possible
> > solution:
> >
> https://github.com/nice-software/lmdb/commit/03987789735141dc68ae8b2d0e5ad52d82cc80d0
>
> That looks OK.
>
> > Basically it errors out because MSVC needs stdcall on that method.
>
> You realize of course, that this change actually has no effect on the code
> here? stdcall uses Pascal argument order instead of C order but it's moot
> since the function only has 1 argument.
>
>
No, there is another important difference:
cdecl = the caller is responsible to clean stack from args (e.g. addl esp,
N);
stdcall = the callee is responsible to clean stack from args (e.g. retn N);

--001a11c23788b1353405228fbfbd
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">2015=
-10-20 23:09 GMT+03:00  <span dir=3D"ltr">&lt;<a href=3D"mailto:hyc@symas.c=
om" target=3D"_blank">hyc@symas.com</a>&gt;</span>:<br><blockquote class=3D=
"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;borde=
r-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><a =
href=3D"mailto:nacho.resa@gmail.com";>nacho.resa@gmail.com</a> wrote:<br>
&gt; --047d7bb03a5ac118d20522842ead<br>
&gt; Content-Type: text/plain; charset=3DUTF-8<br>
&gt;<br>
&gt; So I took another closer look at this issue and I went for this possib=
le<br>
&gt; solution:<br>
&gt; <a href=3D"https://github.com/nice-software/lmdb/commit/03987789735141=
dc68ae8b2d0e5ad52d82cc80d0" rel=3D"noreferrer" target=3D"_blank">https://gi=
thub.com/nice-software/lmdb/commit/03987789735141dc68ae8b2d0e5ad52d82cc80d0=
</a><br>
<br>
That looks OK.<br>
<br>
&gt; Basically it errors out because MSVC needs stdcall on that method.<br>
<br>
You realize of course, that this change actually has no effect on the code<=
br>
here? stdcall uses Pascal argument order instead of C order but it&#39;s mo=
ot<br>
since the function only has 1 argument.<br>
<br></blockquote><div><br><div>No, there is another important difference:</=
div><div>cdecl =3D the caller is responsible to clean stack from args (e.g.=
 addl esp, N);</div>stdcall =3D the callee is responsible to clean stack fr=
om args (e.g. retn N);=C2=A0</div></div></div></div>

--001a11c23788b1353405228fbfbd--