<?xml version="1.0" encoding="ISO-8859-1"?>
<slide fontsize="6em">
	<title>Returning an array</title>

	<blurb> </blurb>
	<blurb nomarkup="true" fontsize="1.8em"><![CDATA[<pre>
<a name="line253">253</a> <font color="#2040a0">PHP_FUNCTION</font><font color="4444FF">(</font><font color="#2040a0">aa_get_lines</font><font color="4444FF">)</font>
<a name="line254">254</a> <font color="4444FF"><strong>{</strong></font>
<a name="line255">255</a> 	<strong>int</strong> <font color="#2040a0">argc</font> <font color="4444FF">=</font> <font color="#2040a0">ZEND_NUM_ARGS</font><font color="4444FF">(</font><font color="4444FF">)</font><font color="4444FF">;</font>
<a name="line256">256</a> 	<strong>int</strong> <font color="#2040a0">c_id</font> <font color="4444FF">=</font> <font color="4444FF">-</font><font color="#FF0000">1</font><font color="4444FF">;</font>
<a name="line257">257</a> 	<font color="#2040a0">zval</font> <font color="4444FF">*</font><font color="#2040a0">c</font> <font color="4444FF">=</font> <font color="#2040a0">NULL</font><font color="4444FF">;</font>
<a name="line258">258</a> 	<font color="#2040a0">aa_context</font> <font color="4444FF">*</font><font color="#2040a0">ac</font><font color="4444FF">;</font>
<a name="line259">259</a> 	<strong>char</strong> <font color="4444FF">*</font><font color="#2040a0">buffer</font><font color="4444FF">;</font>
<a name="line260">260</a> 	<strong>int</strong> <font color="#2040a0">i</font><font color="4444FF">;</font>
<a name="line261">261</a> 
<a name="line262">262</a> 	<strong>if</strong> <font color="4444FF">(</font><font color="#2040a0">zend_parse_parameters</font><font color="4444FF">(</font><font color="#2040a0">argc</font> <font color="#2040a0">TSRMLS_CC</font>, <font color="#008000">&quot;r&quot;</font>, <font color="4444FF">&amp;</font><font color="#2040a0">c</font><font color="4444FF">)</font> <font color="4444FF">=</font><font color="4444FF">=</font> <font color="#2040a0">FAILURE</font><font color="4444FF">)</font> 
<a name="line263">263</a> 		<strong>return</strong><font color="4444FF">;</font>
<a name="line264">264</a> 
<a name="line265">265</a> 	<strong>if</strong> <font color="4444FF">(</font><font color="#2040a0">c</font><font color="4444FF">)</font> <font color="4444FF"><strong>{</strong></font>
<a name="line266">266</a> 		<font color="#2040a0">ZEND_FETCH_RESOURCE</font><font color="4444FF">(</font><font color="#2040a0">ac</font>, <font color="#2040a0">aa_context</font> <font color="4444FF">*</font>, <font color="4444FF">&amp;</font><font color="#2040a0">c</font>, <font color="#2040a0">c_id</font>, <font color="#008000">&quot;aa&quot;</font>, <font color="#2040a0">le_aalib</font><font color="4444FF">)</font><font color="4444FF">;</font>
<a name="line267">267</a> 	<font color="4444FF"><strong>}</strong></font>
<a name="line268">268</a> 
<a name="line269">269</a> 	<strong>if</strong> <font color="4444FF">(</font><font color="#2040a0">array_init</font><font color="4444FF">(</font><font color="#2040a0">return_value</font><font color="4444FF">)</font> <font color="4444FF">=</font><font color="4444FF">=</font> <font color="#2040a0">FAILURE</font><font color="4444FF">)</font> <font color="4444FF"><strong>{</strong></font>
<a name="line270">270</a> 		<font color="#2040a0">RETURN_FALSE</font><font color="4444FF">;</font>
<a name="line271">271</a> 	<font color="4444FF"><strong>}</strong></font>
<a name="line272">272</a> 	
<a name="line273">273</a> 	<font color="#2040a0">buffer</font> <font color="4444FF">=</font> <font color="#2040a0">ecalloc</font><font color="4444FF">(</font><font color="#2040a0">aa_scrheight</font><font color="4444FF">(</font><font color="#2040a0">ac</font><font color="4444FF">)</font> <font color="4444FF">*</font> <font color="#2040a0">aa_scrwidth</font><font color="4444FF">(</font><font color="#2040a0">ac</font><font color="4444FF">)</font> <font color="4444FF">+</font> <font color="#FF0000">1</font>, <font color="#FF0000">1</font><font color="4444FF">)</font><font color="4444FF">;</font>
<a name="line274">274</a> 	<font color="#2040a0">memcpy</font><font color="4444FF">(</font><font color="#2040a0">buffer</font>, <font color="#2040a0">aa_text</font><font color="4444FF">(</font><font color="#2040a0">ac</font><font color="4444FF">)</font>, <font color="#2040a0">aa_scrheight</font><font color="4444FF">(</font><font color="#2040a0">ac</font><font color="4444FF">)</font> <font color="4444FF">*</font> <font color="#2040a0">aa_scrwidth</font><font color="4444FF">(</font><font color="#2040a0">ac</font><font color="4444FF">)</font><font color="4444FF">)</font><font color="4444FF">;</font>
<a name="line275">275</a> 
<a name="line276">276</a> 	<strong>for</strong> <font color="4444FF">(</font><font color="#2040a0">i</font> <font color="4444FF">=</font> <font color="#FF0000">0</font><font color="4444FF">;</font> <font color="#2040a0">i</font> <font color="4444FF">&lt;</font> <font color="#2040a0">aa_scrheight</font><font color="4444FF">(</font><font color="#2040a0">ac</font><font color="4444FF">)</font><font color="4444FF">;</font> <font color="#2040a0">i</font><font color="4444FF">+</font><font color="4444FF">+</font><font color="4444FF">)</font> <font color="4444FF"><strong>{</strong></font>
<a name="line277">277</a> 		<font color="#2040a0">add_index_stringl</font><font color="4444FF">(</font><font color="#2040a0">return_value</font>, <font color="#2040a0">i</font>, <font color="#2040a0">buffer</font> <font color="4444FF">+</font> <font color="4444FF">(</font><font color="4444FF">(</font><font color="#2040a0">aa_scrwidth</font><font color="4444FF">(</font><font color="#2040a0">ac</font><font color="4444FF">)</font> <font color="4444FF">*</font> <font color="#2040a0">i</font><font color="4444FF">)</font><font color="4444FF">)</font>,
			<font color="#2040a0">aa_scrwidth</font><font color="4444FF">(</font><font color="#2040a0">ac</font><font color="4444FF">)</font>, <font color="#FF0000">1</font><font color="4444FF">)</font><font color="4444FF">;</font>
<a name="line278">278</a> 	<font color="4444FF"><strong>}</strong></font>
<a name="line279">279</a> 	<font color="#2040a0">efree</font><font color="4444FF">(</font><font color="#2040a0">buffer</font><font color="4444FF">)</font><font color="4444FF">;</font>
<a name="line280">280</a> <font color="4444FF"><strong>}</strong></font>
</pre>]]></blurb>
</slide>
