add new api docs.
[lms] / www / api / lightmediascanner__utils_8c.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3 <title>Light Media Scanner: src/lib/lightmediascanner_utils.c File Reference</title>
4 <link href="tabs.css" rel="stylesheet" type="text/css">
5 <link href="doxygen.css" rel="stylesheet" type="text/css">
6 </head><body>
7 <!-- Generated by Doxygen 1.5.8 -->
8 <div class="navigation" id="top">
9   <div class="tabs">
10     <ul>
11       <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12       <li><a href="modules.html"><span>Modules</span></a></li>
13       <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
14       <li class="current"><a href="files.html"><span>Files</span></a></li>
15     </ul>
16   </div>
17   <div class="tabs">
18     <ul>
19       <li><a href="files.html"><span>File&nbsp;List</span></a></li>
20       <li><a href="globals.html"><span>Globals</span></a></li>
21     </ul>
22   </div>
23 </div>
24 <div class="contents">
25 <h1>src/lib/lightmediascanner_utils.c File Reference</h1><code>#include &lt;<a class="el" href="lightmediascanner__utils_8h-source.html">lightmediascanner_utils.h</a>&gt;</code><br>
26 <code>#include &lt;ctype.h&gt;</code><br>
27 <code>#include &lt;stdlib.h&gt;</code><br>
28 <code>#include &lt;alloca.h&gt;</code><br>
29
30 <p>
31 <div class="dynheader">
32 Include dependency graph for lightmediascanner_utils.c:</div>
33 <div class="dynsection">
34 </div>
35
36 <p>
37 <a href="lightmediascanner__utils_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
38 <tr><td></td></tr>
39 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
40 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__utils_8c.html#086d2449129976541c66a83984bffbe6">lms_strstrip</a> (char *str, unsigned int *p_len)</td></tr>
41
42 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__utils_8c.html#45d15c8bfeddaef0d5b1d0bd9ecc0c79">lms_strstrip_and_free</a> (char **p_str, unsigned int *p_len)</td></tr>
43
44 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__utils_8c.html#9ed157dee5c16f4c62c5ae6e281580cf">lms_string_size_strip_and_free</a> (struct <a class="el" href="structlms__string__size.html">lms_string_size</a> *p)</td></tr>
45
46 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__utils_8c.html#71ee8b57cf7c5eba8ec0593e756d2529">lms_which_extension</a> (const char *name, unsigned int name_len, const struct <a class="el" href="structlms__string__size.html">lms_string_size</a> *exts, unsigned int exts_len)</td></tr>
47
48 </table>
49 <hr><h2>Function Documentation</h2>
50 <a class="anchor" name="9ed157dee5c16f4c62c5ae6e281580cf"></a><!-- doxytag: member="lightmediascanner_utils.c::lms_string_size_strip_and_free" ref="9ed157dee5c16f4c62c5ae6e281580cf" args="(struct lms_string_size *p)" -->
51 <div class="memitem">
52 <div class="memproto">
53       <table class="memname">
54         <tr>
55           <td class="memname">void lms_string_size_strip_and_free           </td>
56           <td>(</td>
57           <td class="paramtype">struct <a class="el" href="structlms__string__size.html">lms_string_size</a> *&nbsp;</td>
58           <td class="paramname"> <em>p</em>          </td>
59           <td>&nbsp;)&nbsp;</td>
60           <td></td>
61         </tr>
62       </table>
63 </div>
64 <div class="memdoc">
65
66 <p>
67 <a class="el" href="structlms__string__size.html">lms_string_size</a> version of <a class="el" href="lightmediascanner__utils_8c.html#45d15c8bfeddaef0d5b1d0bd9ecc0c79">lms_strstrip_and_free()</a>.<p>
68 <dl compact><dt><b>Parameters:</b></dt><dd>
69   <table border="0" cellspacing="2" cellpadding="0">
70     <tr><td valign="top"></td><td valign="top"><em>*p</em>&nbsp;</td><td>pointer to <a class="el" href="structlms__string__size.html">lms_string_size</a> to be stripped.</td></tr>
71   </table>
72 </dl>
73 <dl class="note" compact><dt><b>Note:</b></dt><dd>this will call free() on lms_string_size-&gt;str if it becomes empty. </dd></dl>
74
75 <p>Definition at line <a class="el" href="lightmediascanner__utils_8c-source.html#l00114">114</a> of file <a class="el" href="lightmediascanner__utils_8c-source.html">lightmediascanner_utils.c</a>.</p>
76
77 <p>References <a class="el" href="lightmediascanner__utils_8h-source.html#l00051">lms_string_size::len</a>, <a class="el" href="lightmediascanner__utils_8c-source.html#l00034">lms_strstrip()</a>, and <a class="el" href="lightmediascanner__utils_8h-source.html#l00050">lms_string_size::str</a>.</p>
78
79 <p>
80 <div class="dynheader">
81 Here is the call graph for this function:</div>
82 <div class="dynsection">
83 </div>
84
85 </div>
86 </div><p>
87 <a class="anchor" name="086d2449129976541c66a83984bffbe6"></a><!-- doxytag: member="lightmediascanner_utils.c::lms_strstrip" ref="086d2449129976541c66a83984bffbe6" args="(char *str, unsigned int *p_len)" -->
88 <div class="memitem">
89 <div class="memproto">
90       <table class="memname">
91         <tr>
92           <td class="memname">void lms_strstrip           </td>
93           <td>(</td>
94           <td class="paramtype">char *&nbsp;</td>
95           <td class="paramname"> <em>str</em>, </td>
96         </tr>
97         <tr>
98           <td class="paramkey"></td>
99           <td></td>
100           <td class="paramtype">unsigned int *&nbsp;</td>
101           <td class="paramname"> <em>p_len</em></td><td>&nbsp;</td>
102         </tr>
103         <tr>
104           <td></td>
105           <td>)</td>
106           <td></td><td></td><td></td>
107         </tr>
108       </table>
109 </div>
110 <div class="memdoc">
111
112 <p>
113 Copyright (C) 2007 by INdT<p>
114 This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.<p>
115 This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.<p>
116 You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.<p>
117 <dl class="author" compact><dt><b>Author:</b></dt><dd>Gustavo Sverzut Barbieri &lt;<a href="mailto:gustavo.barbieri@openbossa.org">gustavo.barbieri@openbossa.org</a>&gt; Strips string, in place.</dd></dl>
118 <dl compact><dt><b>Parameters:</b></dt><dd>
119   <table border="0" cellspacing="2" cellpadding="0">
120     <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>string to be stripped. </td></tr>
121     <tr><td valign="top"></td><td valign="top"><em>p_len</em>&nbsp;</td><td>string length to analyse, also the place where the final size is stored. </td></tr>
122   </table>
123 </dl>
124
125 <p>Definition at line <a class="el" href="lightmediascanner__utils_8c-source.html#l00034">34</a> of file <a class="el" href="lightmediascanner__utils_8c-source.html">lightmediascanner_utils.c</a>.</p>
126
127 <p>Referenced by <a class="el" href="lightmediascanner__utils_8c-source.html#l00114">lms_string_size_strip_and_free()</a>, and <a class="el" href="lightmediascanner__utils_8c-source.html#l00094">lms_strstrip_and_free()</a>.</p>
128
129 </div>
130 </div><p>
131 <a class="anchor" name="45d15c8bfeddaef0d5b1d0bd9ecc0c79"></a><!-- doxytag: member="lightmediascanner_utils.c::lms_strstrip_and_free" ref="45d15c8bfeddaef0d5b1d0bd9ecc0c79" args="(char **p_str, unsigned int *p_len)" -->
132 <div class="memitem">
133 <div class="memproto">
134       <table class="memname">
135         <tr>
136           <td class="memname">void lms_strstrip_and_free           </td>
137           <td>(</td>
138           <td class="paramtype">char **&nbsp;</td>
139           <td class="paramname"> <em>p_str</em>, </td>
140         </tr>
141         <tr>
142           <td class="paramkey"></td>
143           <td></td>
144           <td class="paramtype">unsigned int *&nbsp;</td>
145           <td class="paramname"> <em>p_len</em></td><td>&nbsp;</td>
146         </tr>
147         <tr>
148           <td></td>
149           <td>)</td>
150           <td></td><td></td><td></td>
151         </tr>
152       </table>
153 </div>
154 <div class="memdoc">
155
156 <p>
157 If string exists, strips it, in place, free if *p_len = 0<p>
158 <dl compact><dt><b>Parameters:</b></dt><dd>
159   <table border="0" cellspacing="2" cellpadding="0">
160     <tr><td valign="top"></td><td valign="top"><em>p_str</em>&nbsp;</td><td>pointer to string to be stripped. </td></tr>
161     <tr><td valign="top"></td><td valign="top"><em>p_len</em>&nbsp;</td><td>string length to analyse, also the place where the final size is stored.</td></tr>
162   </table>
163 </dl>
164 <dl class="note" compact><dt><b>Note:</b></dt><dd>this will call free() on *p_str if it becomes empty. </dd></dl>
165
166 <p>Definition at line <a class="el" href="lightmediascanner__utils_8c-source.html#l00094">94</a> of file <a class="el" href="lightmediascanner__utils_8c-source.html">lightmediascanner_utils.c</a>.</p>
167
168 <p>References <a class="el" href="lightmediascanner__utils_8c-source.html#l00034">lms_strstrip()</a>.</p>
169
170 <p>
171 <div class="dynheader">
172 Here is the call graph for this function:</div>
173 <div class="dynsection">
174 </div>
175
176 </div>
177 </div><p>
178 <a class="anchor" name="71ee8b57cf7c5eba8ec0593e756d2529"></a><!-- doxytag: member="lightmediascanner_utils.c::lms_which_extension" ref="71ee8b57cf7c5eba8ec0593e756d2529" args="(const char *name, unsigned int name_len, const struct lms_string_size *exts, unsigned int exts_len)" -->
179 <div class="memitem">
180 <div class="memproto">
181       <table class="memname">
182         <tr>
183           <td class="memname">int lms_which_extension           </td>
184           <td>(</td>
185           <td class="paramtype">const char *&nbsp;</td>
186           <td class="paramname"> <em>name</em>, </td>
187         </tr>
188         <tr>
189           <td class="paramkey"></td>
190           <td></td>
191           <td class="paramtype">unsigned int&nbsp;</td>
192           <td class="paramname"> <em>name_len</em>, </td>
193         </tr>
194         <tr>
195           <td class="paramkey"></td>
196           <td></td>
197           <td class="paramtype">const struct <a class="el" href="structlms__string__size.html">lms_string_size</a> *&nbsp;</td>
198           <td class="paramname"> <em>exts</em>, </td>
199         </tr>
200         <tr>
201           <td class="paramkey"></td>
202           <td></td>
203           <td class="paramtype">unsigned int&nbsp;</td>
204           <td class="paramname"> <em>exts_len</em></td><td>&nbsp;</td>
205         </tr>
206         <tr>
207           <td></td>
208           <td>)</td>
209           <td></td><td></td><td></td>
210         </tr>
211       </table>
212 </div>
213 <div class="memdoc">
214
215 <p>
216 Find out which of the given extensions matches the given name.<p>
217 <dl compact><dt><b>Parameters:</b></dt><dd>
218   <table border="0" cellspacing="2" cellpadding="0">
219     <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>string to analyse. </td></tr>
220     <tr><td valign="top"></td><td valign="top"><em>name_len</em>&nbsp;</td><td>string length. </td></tr>
221     <tr><td valign="top"></td><td valign="top"><em>exts</em>&nbsp;</td><td>array of extensions to be checked. </td></tr>
222     <tr><td valign="top"></td><td valign="top"><em>exts_len</em>&nbsp;</td><td>number of items in array <code>exts</code> </td></tr>
223   </table>
224 </dl>
225 <dl class="return" compact><dt><b>Returns:</b></dt><dd>index in <code>exts</code> or -1 if it doesn't match none. </dd></dl>
226
227 <p>Definition at line <a class="el" href="lightmediascanner__utils_8c-source.html#l00138">138</a> of file <a class="el" href="lightmediascanner__utils_8c-source.html">lightmediascanner_utils.c</a>.</p>
228
229 <p>References <a class="el" href="lightmediascanner__utils_8h-source.html#l00050">lms_string_size::str</a>.</p>
230
231 </div>
232 </div><p>
233 </div>
234 <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 22 23:56:01 2009 for Light Media Scanner by&nbsp;
235 <a href="http://www.doxygen.org/index.html">
236 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
237 </body>
238 </html>