<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">Thanks for the writeup..</div><div class=""><br class=""></div>> My view is that the importance of arguments is what sets their order - and that is why for the TYPE functions the TYPE pointer<br class="">> comes first. We could have just as easily specified it as last or some other order, but we didn’t.<div class=""><br class=""></div><div class="">Isn’t that the order that the fetch is in if it changes to what it is in the PR? I would argue that the algorithm is the most important parameter in the fetch.</div><div class=""><br class=""></div><div class="">Deciding what argument is more ‘important’ is not always easy either.</div><div class="">If we are doing an operation such as a get or load and it needs a whole lot of input params in order to return something,</div><div class="">then aren’t they more important/ or just as important as the libctx,propq - (since the libctx,propq is just used normally to fetch something)?</div><div class="">This then means the libctx ends up last, or maybe in the middle again.</div><div class=""><br class=""></div><div class="">Also it is quite common for the new() methods (such as for X509) to need both the libctx and propq..</div><div class="">The X509 object gets passed to an d2i method that internally needs to do fetches (SHA1) and cache.</div><div class=""><br class=""></div><div class="">Shane<br class=""><div class=""><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><br class=""></div></div><div><blockquote type="cite" class=""><div class="">On 5 Sep 2020, at 5:09 pm, Tim Hudson <<a href="mailto:tjh@cryptsoft.com" class="">tjh@cryptsoft.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">My view is that the importance of arguments is what sets their order - and that is why for the TYPE functions the TYPE pointer</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">comes first. We could have just as easily specified it as last or some other order, but we didn't.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""></div></blockquote></div><br class=""></div></body></html>