<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif; ">
<div>
<div>
<div>I agree with those sections you cited – I think they make the code cleaner and more robust.</div>
<div>
<div>
<div>-- </div>
<div>Glen Wiley</div>
<div>KK4SFV</div>
</div>
<div>Sr. Engineer</div>
<div>The Hive, Verisign, Inc.</div>
</div>
</div>
</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span><Goyal>, Neel <<a href="mailto:ngoyal@verisign.com">ngoyal@verisign.com</a>><br>
<span style="font-weight:bold">Date: </span>Wednesday, January 29, 2014 3:11 PM<br>
<span style="font-weight:bold">To: </span>"<a href="mailto:getdns-api@vpnc.org">getdns-api@vpnc.org</a>" <<a href="mailto:getdns-api@vpnc.org">getdns-api@vpnc.org</a>><br>
<span style="font-weight:bold">Subject: </span>[getdns-api] getdns-api review - no brainers sections 2.2, 2.3, 2.6, 2.7<br>
</div>
<div><br>
</div>
<div>
<div style="word-wrap:break-word">
<div style="color:rgb(0,0,0); font-family:Calibri,sans-serif; font-size:14px">Hello all,</div>
<div style="color:rgb(0,0,0); font-family:Calibri,sans-serif; font-size:14px"><br>
</div>
<div style="color:rgb(0,0,0); font-family:Calibri,sans-serif; font-size:14px">This is in reference to Bob Steagall’s review of the getdns API - <a href="http://www.vpnc.org/pipermail/getdns-api/2014-January/000229.html">http://www.vpnc.org/pipermail/getdns-api/2014-January/000229.html</a></div>
<div style="color:rgb(0,0,0); font-family:Calibri,sans-serif; font-size:14px"><br>
</div>
<div>I strongly support the implementation of 2.2 (type aliases for opaque types), 2.3 (const correctness), 2.6 (removing unnecessary headers), and 2.7 (c++ compilation support).</div>
<div><br>
</div>
<div>The latter 3 have already been committed in our implementation. I’d like to make the case for 2.2 as well. Our structures are essentially opaque types, and in the future, we might see the need to add more of them. We should keep this approach consistent
through the API. The context is already an opaque type - we have no reason to expose any internals to the user. This change only requires the addition of two lines in getdns.h:</div>
<div><br>
</div>
<div>
<div>typedef struct getdns_dict* getdns_dict_t; </div>
<div>typedef struct getdns_list* getdns_list_t; </div>
</div>
<div><br>
</div>
<div>And changing the exposed functions to use these typedefs.</div>
<div><br>
</div>
<div>Thoughts?</div>
<h5><font color="gray">“This message (including any attachments) is intended only for the use of the individual or entity to which it is addressed, and may contain information that is non-public, proprietary, privileged, confidential and exempt from disclosure
under applicable law or may be constituted as attorney work product. If you are not the intended recipient, you are hereby notified that any use, dissemination, distribution, or copying of this communication is strictly prohibited. If you have received this
message in error, notify sender immediately and delete this message immediately.”
</font></h5>
<font color="gray"></font></div>
</div>
</span>
</body>
</html>