<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://reviewboard.asterisk.org/r/2259/">https://reviewboard.asterisk.org/r/2259/</a>
     </td>
    </tr>
   </table>
   <br />



 <p>Ship it!</p>



 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Minor comment about the handlers; otherwise it looks good.</pre>
 <br />





<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="https://reviewboard.asterisk.org/r/2259/diff/6-7/?file=32937#file32937line128" style="color: black; font-weight: bold; text-decoration: underline;">/trunk/main/sorcery.c</a>
    <span style="font-weight: normal;">

     (Diff revisions 6 - 7)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">struct sorcery_load_details {</pre></td>

  </tr>
 </tbody>




 
 



 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">128</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">snprintf</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="n">value</span><span class="p">),</span> <span class="s">&quot;%d&quot;</span><span class="p">,</span> <span class="o">*</span><span class="n">field</span><span class="p">);</span></pre></td>
  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">FWIW, ast_asprintf will do the allocation for you. And the handlers should return -1 if the allocation fails.

Same comment for most of the handlers below.</pre>
</div>
<br />



<p>- David</p>


<br />
<p>On January 24th, 2013, 8:25 a.m., jcolp wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Asterisk Developers.</div>
<div>By jcolp.</div>


<p style="color: grey;"><i>Updated Jan. 24, 2013, 8:25 a.m.</i></p>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Sorcery is a new API which provides a generic data access/persistence mechanism. A user of this API defines their objects with some special sorcery specific contents. The object types themselves and the fields within the objects are then registered with sorcery. Operations can then occur to create, retrieve, update, or delete objects. There&#39;s also other aspects present such as configuration for mapping object types to different persistence mechanisms (with the current one available being in-memory). Other operations also exist which allow objects to be copied and diffed.

* I will run whitespace-cleanup on this :P red blobs will be gone.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Ran unit tests, confirmed they all passed and made changes to ensure the tests are valid.</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>/trunk/configs/sorcery.conf.sample <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/configs/test_sorcery.conf.sample <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/include/asterisk/sorcery.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/main/asterisk.c <span style="color: grey">(380001)</span></li>

 <li>/trunk/main/sorcery.c <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/res/res_sorcery_config.c <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/res/res_sorcery_memory.c <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/tests/test_sorcery.c <span style="color: grey">(PRE-CREATION)</span></li>

</ul>

<p><a href="https://reviewboard.asterisk.org/r/2259/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>