You could look at how __ast_alloc_region() is allocating the space for the structure:<br>strptr = malloc(size + sizeof(*reg) + sizeof(*data) + extrada);<br>so, we only have one pointer for the structure, i think he is talking about this...<br>
<br><br><div class="gmail_quote">On Fri, Nov 7, 2008 at 1:59 PM, Michiel van Baak <span dir="ltr">&lt;<a href="mailto:michiel@vanbaak.info">michiel@vanbaak.info</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d"><br>
<br>
&gt; On 2008-11-07 08:38:08, Russell Bryant wrote:<br>
&gt; &gt; trunk/res/res_clialiases.c, lines 47-48<br>
&gt; &gt; &lt;<a href="http://reviewboard.digium.com/r/32/diff/2/?file=1214#file1214line47" target="_blank">http://reviewboard.digium.com/r/32/diff/2/?file=1214#file1214line47</a>&gt;<br>
&gt; &gt;<br>
&gt; &gt; &nbsp; &nbsp; Usually, instead of having multiple malloc&#39;d strings in a struct, I would say use the stringfields API instead. &nbsp;Since it&#39;s only 2 here, the benefits aren&#39;t quite as big. &nbsp;However, for the sake of consistency, I&#39;d still say go with stringfields.<br>

&gt;<br>
&gt; &nbsp;wrote:<br>
&gt; &nbsp; &nbsp; If the strings are not modified after the structure allocation, even stringfields are too much overhead; I&#39;d just use the &#39;allocate after the structure&#39; trick and put the strings directly into the same memory block as the structure.<br>

&gt;<br>
</div><div class="Ih2E3d">&gt; &nbsp;wrote:<br>
&gt; &nbsp; &nbsp; Good point. &nbsp;+1 to this suggestion.<br>
<br>
</div>ehm, can you give me an example of what you mean with this ?<br>
I notice that my C skillz are poor every day ;-)<br>
<div class="Ih2E3d"><br>
<br>
&gt; On 2008-11-07 08:38:08, Russell Bryant wrote:<br>
&gt; &gt; trunk/main/cli.c, line 1931<br>
</div>&gt; &gt; &lt;<a href="http://reviewboard.digium.com/r/32/diff/2/?file=1207#file1207line1931" target="_blank">http://reviewboard.digium.com/r/32/diff/2/?file=1207#file1207line1931</a>&gt;<br>
&gt; &gt;<br>
&gt; &gt; &nbsp; &nbsp; brace on the next line<br>
<br>
Function is removed in the new version (patch will be added soon, waiting for the sample I asked on the next comment)<br>
<br>
<br>
&gt; On 2008-11-07 08:38:08, Russell Bryant wrote:<br>
&gt; &gt; trunk/res/res_clialiases.c, lines 236-238<br>
&gt; &gt; &lt;<a href="http://reviewboard.digium.com/r/32/diff/2/?file=1214#file1214line236" target="_blank">http://reviewboard.digium.com/r/32/diff/2/?file=1214#file1214line236</a>&gt;<br>
&gt; &gt;<br>
&gt; &gt; &nbsp; &nbsp; You can simplify this a bit:<br>
&gt; &gt;<br>
&gt; &gt; &nbsp; &nbsp; ao2_callback(cli_aliases, OBJ_UNLINK | OBJ_NODATA | OBJ_MULTIPLE, alias_marked, NULL);<br>
<br>
done<br>
<br>
<br>
&gt; On 2008-11-07 08:38:08, Russell Bryant wrote:<br>
&gt; &gt; trunk/res/res_clialiases.c, line 188<br>
&gt; &gt; &lt;<a href="http://reviewboard.digium.com/r/32/diff/2/?file=1214#file1214line188" target="_blank">http://reviewboard.digium.com/r/32/diff/2/?file=1214#file1214line188</a>&gt;<br>
&gt; &gt;<br>
&gt; &gt; &nbsp; &nbsp; return CMP_MATCH | CMP_STOP to be more explicit about what you want it to do<br>
<br>
done<br>
<div class="Ih2E3d"><br>
<br>
- Michiel<br>
<br>
<br>
-----------------------------------------------------------<br>
This is an automatically generated e-mail. To reply, visit:<br>
</div><a href="http://reviewboard.digium.com/r/32/#review98" target="_blank">http://reviewboard.digium.com/r/32/#review98</a><br>
<div><div></div><div class="Wj3C7c">-----------------------------------------------------------<br>
<br>
<br>
On 2008-11-05 17:11:12, Michiel van Baak wrote:<br>
&gt;<br>
&gt; -----------------------------------------------------------<br>
&gt; This is an automatically generated e-mail. To reply, visit:<br>
&gt; <a href="http://reviewboard.digium.com/r/32/" target="_blank">http://reviewboard.digium.com/r/32/</a><br>
&gt; -----------------------------------------------------------<br>
&gt;<br>
&gt; (Updated 2008-11-05 17:11:12)<br>
&gt;<br>
&gt;<br>
&gt; Review request for Asterisk Developers.<br>
&gt;<br>
&gt;<br>
&gt; Summary<br>
&gt; -------<br>
&gt;<br>
&gt; This patch introduces cli aliases.<br>
&gt; The config file holds a bunch of aliases for the deprecated commands in trunk so I could remove them from the code.<br>
&gt;<br>
&gt;<br>
&gt; Diffs<br>
&gt; -----<br>
&gt;<br>
&gt; &nbsp; trunk/channels/chan_mgcp.c 154935<br>
&gt; &nbsp; trunk/channels/chan_sip.c 154935<br>
&gt; &nbsp; trunk/channels/chan_skinny.c 154935<br>
&gt; &nbsp; trunk/configs/cli_aliases.conf.sample PRE-CREATION<br>
&gt; &nbsp; trunk/funcs/func_devstate.c 154935<br>
&gt; &nbsp; trunk/include/asterisk/cli.h 154935<br>
&gt; &nbsp; trunk/main/asterisk.c 154935<br>
&gt; &nbsp; trunk/main/cdr.c 154935<br>
&gt; &nbsp; trunk/main/cli.c 154935<br>
&gt; &nbsp; trunk/main/pbx.c 154935<br>
&gt; &nbsp; trunk/main/rtp.c 154935<br>
&gt; &nbsp; trunk/main/udptl.c 154935<br>
&gt; &nbsp; trunk/pbx/pbx_ael.c 154935<br>
&gt; &nbsp; trunk/pbx/pbx_dundi.c 154935<br>
&gt; &nbsp; trunk/res/res_agi.c 154935<br>
&gt; &nbsp; trunk/res/res_clialiases.c PRE-CREATION<br>
&gt; &nbsp; trunk/res/res_jabber.c 154935<br>
&gt;<br>
&gt; Diff: <a href="http://reviewboard.digium.com/r/32/diff" target="_blank">http://reviewboard.digium.com/r/32/diff</a><br>
&gt;<br>
&gt;<br>
&gt; Testing<br>
&gt; -------<br>
&gt;<br>
&gt; compiles, installs and runs fine on my development laptop running OpenBSD 4.4<br>
&gt;<br>
&gt;<br>
&gt; Thanks,<br>
&gt;<br>
&gt; Michiel<br>
&gt;<br>
&gt;<br>
<br>
<br>
</div></div><div><div></div><div class="Wj3C7c">_______________________________________________<br>
--Bandwidth and Colocation Provided by <a href="http://www.api-digital.com--" target="_blank">http://www.api-digital.com--</a><br>
<br>
asterisk-dev mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
 &nbsp; <a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Eliel Sardaņons<br>