<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/1945/">https://reviewboard.asterisk.org/r/1945/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On May 31st, 2012, 8:47 a.m., <b>opticron</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<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/1945/diff/1/?file=28244#file28244line2516" style="color: black; font-weight: bold; text-decoration: underline;">/team/mmichelson/trunk-digiumphones/apps/app_voicemail.c</a>
<span style="font-weight: normal;">
(Diff revision 1)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static int imap_store_file(const char *dir, const char *mailboxuser, const char *mailboxcontext, int msgnum, struct ast_channel *chan, struct ast_vm_user *vmu, char *fmt, int duration, struct vm_state *vms, const char *flag)</pre></td>
<td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static int imap_store_file(const char *dir, const char *mailboxuser, const char *mailboxcontext, int msgnum, struct ast_channel *chan, struct ast_vm_user *vmu, char *fmt, int duration, struct vm_state *vms, const char *flag, const char *msg_id)</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">2423</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="hl">                </span><span class="n"><span class="hl">chan</span></span><span class="hl"> </span><span class="o"><span class="hl">?</span></span><span class="hl"> </span><span class="n">S_COR</span><span class="p">(</span><span class="n">chan</span><span class="o"><span class="hl">-></span></span><span class="n">caller</span><span class="p"><span class="hl">.</span></span><span class="n">id</span><span class="p">.</span><span class="n">number</span><span class="p">.</span><span class="n">valid</span><span class="p">,</span> <span class="n">chan</span><span class="o"><span class="hl">-></span></span><span class="n">caller</span><span class="p"><span class="hl">.</span></span><span class="n">id</span><span class="p">.</span><span class="n">number</span><span class="p">.</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">)</span><span class="hl"> </span><span class="o"><span class="hl">:</span></span><span class="hl"> </span><span class="nb"><span class="hl">NULL</span></span><span class="p">,</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">2516</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="n">S_COR</span><span class="p">(</span><span class="n"><span class="hl">ast_</span>chan<span class="hl">nel_</span>caller</span><span class="p"><span class="hl">(</span></span><span class="n"><span class="hl">chan</span></span><span class="p"><span class="hl">)</span></span><span class="o"><span class="hl">-></span></span><span class="n">id</span><span class="p">.</span><span class="n">number</span><span class="p">.</span><span class="n">valid</span><span class="p">,</span> <span class="n"><span class="hl">ast_</span>chan<span class="hl">nel_</span>caller</span><span class="p"><span class="hl">(</span></span><span class="n"><span class="hl">chan</span></span><span class="p"><span class="hl">)</span></span><span class="o"><span class="hl">-></span></span><span class="n">id</span><span class="p">.</span><span class="n">number</span><span class="p">.</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">),</span></pre></td>
</tr>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">2424</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="hl">                </span><span class="n"><span class="hl">chan</span></span><span class="hl"> </span><span class="o"><span class="hl">?</span></span><span class="hl"> </span><span class="n">S_COR</span><span class="p">(</span><span class="n">chan</span><span class="o"><span class="hl">-></span></span><span class="n">caller</span><span class="p"><span class="hl">.</span></span><span class="n">id</span><span class="p">.</span><span class="n">name</span><span class="p">.</span><span class="n">valid</span><span class="p">,</span> <span class="n">chan</span><span class="o"><span class="hl">-></span></span><span class="n">caller</span><span class="p"><span class="hl">.</span></span><span class="n">id</span><span class="p">.</span><span class="n">name</span><span class="p">.</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">)</span><span class="hl"> </span><span class="o"><span class="hl">:</span></span><span class="hl"> </span><span class="nb"><span class="hl">NULL</span></span><span class="p">,</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">2517</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="n">S_COR</span><span class="p">(</span><span class="n"><span class="hl">ast_</span>chan<span class="hl">nel_</span>caller</span><span class="p"><span class="hl">(</span></span><span class="n"><span class="hl">chan</span></span><span class="p"><span class="hl">)</span></span><span class="o"><span class="hl">-></span></span><span class="n">id</span><span class="p">.</span><span class="n">name</span><span class="p">.</span><span class="n">valid</span><span class="p">,</span> <span class="n"><span class="hl">ast_</span>chan<span class="hl">nel_</span>caller</span><span class="p"><span class="hl">(</span></span><span class="n"><span class="hl">chan</span></span><span class="p"><span class="hl">)</span></span><span class="o"><span class="hl">-></span></span><span class="n">id</span><span class="p">.</span><span class="n">name</span><span class="p">.</span><span class="n">str</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">),</span></pre></td>
</tr>
</tbody>
</table>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The channel opaquification changes here seem out of place. Was this just forgotten and not actually compiling before?</pre>
</blockquote>
</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I thought that's what the problem was, but the circumstance is a bit more bizarre. In trunk, the opaquification changes were made properly, but my branch, based on trunk and automerging from trunk, did not have the opaquification changes in the IMAP code. I don't know how that happened, but I imagine it was based on something I did where I ported some code into my branch from some place other than trunk.</pre>
<br />
<p>- Mark</p>
<br />
<p>On May 23rd, 2012, 3:46 p.m., Mark Michelson 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 Mark Michelson.</div>
<p style="color: grey;"><i>Updated May 23, 2012, 3:46 p.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;">This review has two main parts to it.
1) IMAP voicemail storage now supports unique message IDs like the other storage backends.
2) Old IMAP voicemails that do not have a unique message ID can be updated to have one now. This involves deleting the old message, creating a new one, and then storing that message in the appropriate folder. Comments in the code explain what is going on.</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;">Admittedly, this has only undergone a compilation test.</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>/team/mmichelson/trunk-digiumphones/apps/app_voicemail.c <span style="color: grey">(367360)</span></li>
</ul>
<p><a href="https://reviewboard.asterisk.org/r/1945/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>