<?xml version="1.0" encoding="ISO-8859-1"?>
<slide fontsize="6em">
	<title>Parameter Parsing API (2)</title>

	<blurb nomarkup="true" fontsize="1.8em">Optional long and string:<![CDATA[<pre>
<strong>long</strong>  <font color="#2040a0">opt_l</font> <font color="4444FF">=</font> <font color="#FF0000">0</font><font color="4444FF">;</font>
<strong>char</strong> <font color="4444FF">*</font><font color="#2040a0">opt_str</font> <font color="4444FF">=</font> <font color="#2040a0">NULL</font><font color="4444FF">;</font>
<strong>long</strong>  <font color="#2040a0">opt_str_len</font> <font color="4444FF">=</font> <font color="#FF0000">0</font><font color="4444FF">;</font>
<strong>if</strong> <font color="4444FF">(</font><font color="#2040a0">zend_parse_parameters</font><font color="4444FF">(</font><font color="#2040a0">ZEND_NUM_ARGS</font><font color="4444FF">(</font><font color="4444FF">)</font> <font color="#2040a0">TSRMLS_CC</font>,
    <font color="#008000">&quot;|ls&quot;</font>, <font color="4444FF">&amp;</font><font color="#2040a0">opt_l</font>, <font color="4444FF">&amp;</font><font color="#2040a0">opt_str</font>, <font color="4444FF">&amp;</font><font color="#2040a0">opt_str_len</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>
</pre>]]></blurb>

	<blurb nomarkup="true" fontsize="1.8em">Get the first two parameters as resource and optional boolean:<![CDATA[<pre>
<font color="#2040a0">zval</font> <font color="4444FF">*</font><font color="#2040a0">resource</font><font color="4444FF">;</font>
<font color="#2040a0">zend_bool</font> <font color="#2040a0">b</font> <font color="4444FF">=</font> <font color="#2040a0">FALSE</font><font color="4444FF">;</font>
<strong>if</strong> <font color="4444FF">(</font><font color="#2040a0">zend_parse_parameters</font><font color="4444FF">(</font><font color="#FF0000">2</font> <font color="#2040a0">TSRMLS_CC</font>, <font color="#008000">&quot;r|b&quot;</font>, <font color="4444FF">&amp;</font><font color="#2040a0">resource</font>, <font color="4444FF">&amp;</font><font color="#2040a0">b</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>
</pre>]]></blurb>

	<blurb nomarkup="true" fontsize="1.8em">Get a long or a string:<![CDATA[<pre>
<strong>long</strong>  <font color="#2040a0">number</font><font color="4444FF">;</font>
<strong>char</strong> <font color="4444FF">*</font><font color="#2040a0">str</font><font color="4444FF">;</font>
<strong>int</strong>   <font color="#2040a0">str_len</font><font color="4444FF">;</font>

<strong>if</strong> <font color="4444FF">(</font><font color="#2040a0">zend_parse_parameters_ex</font><font color="4444FF">(</font><font color="#2040a0">ZEND_PARSE_PARAMS_QUIET</font>, <font color="#2040a0">ZEND_NUM_ARGS</font><font color="4444FF">(</font><font color="4444FF">)</font> <font color="#2040a0">TSRMLS_CC</font>,
    <font color="#008000">&quot;l&quot;</font>, <font color="4444FF">&amp;</font><font color="#2040a0">number</font><font color="4444FF">)</font> <font color="4444FF">=</font><font color="4444FF">=</font> <font color="#2040a0">SUCCESS</font><font color="4444FF">)</font> <font color="4444FF"><strong>{</strong></font>
	<font color="#444444">/* Do something with the number */</font>
<font color="4444FF"><strong>}</strong></font> <strong>else</strong> <strong>if</strong> <font color="4444FF">(</font><font color="#2040a0">zend_parse_parameters_ex</font><font color="4444FF">(</font><font color="#2040a0">ZEND_PARSE_PARAMS_QUIET</font>, <font color="#2040a0">ZEND_NUM_ARGS</font><font color="4444FF">(</font><font color="4444FF">)</font> <font color="#2040a0">TSRMLS_CC</font>,
    <font color="#008000">&quot;s&quot;</font>, <font color="4444FF">&amp;</font><font color="#2040a0">str</font>, <font color="4444FF">&amp;</font><font color="#2040a0">str_len</font><font color="4444FF">)</font> <font color="4444FF">=</font><font color="4444FF">=</font> <font color="#2040a0">SUCCESS</font><font color="4444FF">)</font> <font color="4444FF"><strong>{</strong></font>
	<font color="#444444">/* Do something with the string */</font>
<font color="4444FF"><strong>}</strong></font> <strong>else</strong> <font color="4444FF"><strong>{</strong></font>
	<font color="#444444">/* Output error */</font>
<font color="4444FF"><strong>}</strong></font>
</pre>]]></blurb>
</slide>
