Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > dc9b9eb224888fd532330fad8ee0ffc5 > files > 88

audacious-devel-2.4.5-1.fc14.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Audacious: audstrings.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Audacious&#160;<span id="projectnumber">$Id:Doxyfile42802007-03-2104:39:00Znenolod$</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<h1>audstrings.h File Reference</h1>  </div>
</div>
<div class="contents">
<div class="textblock"><code>#include &lt;stdlib.h&gt;</code><br/>
<code>#include &lt;glib.h&gt;</code><br/>
</div>
<p><a href="audstrings_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">G_BEGIN_DECLS gchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#a20a6b211740a78025f935b108fd6849d">escape_shell_chars</a> (const gchar *string)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Escapes characters that are special to the shell inside double quotes.  <a href="#a20a6b211740a78025f935b108fd6849d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#af6eeffd1c7327e023ea6e7303f03aa35">str_append</a> (gchar *str, const gchar *add_str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#a2fa21d6594a12cc587e473a4ba6ce37c">str_replace</a> (gchar *str, gchar *new_str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#a18505b0df0c16f5bed1f5daab13df08a">str_replace_in</a> (gchar **str, gchar *new_str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="playlist-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#a531ba788c7622fa2cbd9a1b3629a6695">str_has_prefix_nocase</a> (const gchar *str, const gchar *prefix)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="playlist-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#abc46537190d5b1878fd02b5130cd045d">str_has_suffix_nocase</a> (const gchar *str, const gchar *suffix)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="playlist-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#aa4977cb0936db55f949be9a14d83f9b1">str_has_suffixes_nocase</a> (const gchar *str, gchar *const *suffixes)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#ad0cefd4609880af4801cfff2c8b18fd9">str_assert_utf8</a> (const gchar *str)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This function can be used to assert that a given string is valid UTF-8.  <a href="#ad0cefd4609880af4801cfff2c8b18fd9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#a8c75c8a69e314ab31037f9594a2f9305">str_to_utf8_fallback</a> (const gchar *str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const gchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#adf9010ec612b9bb80854a252dfc86d82">str_skip_chars</a> (const gchar *str, const gchar *chars)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#a9e767be5e80d6d0937b78ae657aafd57">convert_dos_path</a> (gchar *text)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#af42731804c4b1c2fdb3b4e7d13dffb4a">filename_get_subtune</a> (const gchar *<a class="el" href="misc-api_8h.html#a820d8643bcfa9e2641dd6377f804de20">filename</a>, <a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> *track)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if given URI contains a subtune indicator/number.  <a href="#af42731804c4b1c2fdb3b4e7d13dffb4a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#a1f7caed89cb5e7fd8271645662f73526">filename_split_subtune</a> (const gchar *<a class="el" href="misc-api_8h.html#a820d8643bcfa9e2641dd6377f804de20">filename</a>, <a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> *track)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Given file path/URI contains ending indicating subtune number "?&lt;number&gt;", splits the string into filename without subtune value.  <a href="#a1f7caed89cb5e7fd8271645662f73526"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#a3353d15e487aa4bb3b7286bcbcf2cdd7">string_replace_char</a> (gchar *string, gchar old_str, gchar new_str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#a45ec2f0bd1b5433bc34eade2f2faafdd">string_decode_percent</a> (gchar *string)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#ac9672d7680705de649e59b7c1b91e839">string_encode_percent</a> (const gchar *string, <a class="el" href="playlist-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a> is_filename)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="playlist-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#a139a0a249fe2779da8dc18e93277bf8f">uri_is_utf8</a> (const gchar *uri, <a class="el" href="playlist-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a> warn)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#af9a9db5b1341fa8d325b0927d8d028fd">uri_to_utf8</a> (const gchar *uri)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#a05b116a9463f3608b1db16c680908859">uri_check_utf8</a> (gchar **uri, <a class="el" href="playlist-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a> warn)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#ac7e074246cde9151221c6cb4223e1b5f">filename_to_uri</a> (const gchar *<a class="el" href="misc-api_8h.html#a820d8643bcfa9e2641dd6377f804de20">filename</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gchar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#ae355d75010bd485662af74114ce43df8">uri_to_filename</a> (const gchar *uri)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#a1abf557c84fc1e6872140a048951ad9e">string_cut_extension</a> (gchar *string)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#afcc08d171591e71121bbcd6248b14008">string_compare</a> (const gchar *<a class="el" href="equalizer_8c.html#a21329274c21b67fc478d38001a78d392">a</a>, const gchar *<a class="el" href="equalizer_8c.html#a68195c8196bba3c211db7cdcef429181">b</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#acf6ae35f89287be563d6df78a3cdc321">string_compare_encoded</a> (const gchar *<a class="el" href="equalizer_8c.html#a21329274c21b67fc478d38001a78d392">a</a>, const gchar *<a class="el" href="equalizer_8c.html#a68195c8196bba3c211db7cdcef429181">b</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#a3b04f7c89885f3d9c6d839970024d689">memfind</a> (const void *mem, <a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> size, const void *token, <a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> length)</td></tr>
<tr><td colspan="2"><h2><a name="var-members"></a>
Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gchar *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#a83adc6065313b888aed68db2394df298">str_to_utf8</a> )(const gchar *str)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert given string from nearly any encoding to UTF-8 encoding.  <a href="#a83adc6065313b888aed68db2394df298"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">gchar *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="audstrings_8h.html#aa758d9ff3c619431cddcfe1b4c3af4d7">chardet_to_utf8</a> )(const gchar *string, gssize length, gsize *bytes_read, gsize *bytes_written, GError **<a class="el" href="audctrl_8c.html#abc39a4bba3587c275762137dee2c3fc1">error</a>)</td></tr>
</table>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a9e767be5e80d6d0937b78ae657aafd57"></a><!-- doxytag: member="audstrings.h::convert_dos_path" ref="a9e767be5e80d6d0937b78ae657aafd57" args="(gchar *text)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gchar* convert_dos_path </td>
          <td>(</td>
          <td class="paramtype">gchar *&#160;</td>
          <td class="paramname"><em>text</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00259">259</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

<p>Referenced by <a class="el" href="util_8c_source.html#l00106">construct_uri()</a>.</p>

</div>
</div>
<a class="anchor" id="a20a6b211740a78025f935b108fd6849d"></a><!-- doxytag: member="audstrings.h::escape_shell_chars" ref="a20a6b211740a78025f935b108fd6849d" args="(const gchar *string)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">G_BEGIN_DECLS gchar* escape_shell_chars </td>
          <td>(</td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>string</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Escapes characters that are special to the shell inside double quotes. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">string</td><td>String to be escaped. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Given string with special characters escaped. Must be freed with g_free(). </dd></dl>

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00045">45</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

</div>
</div>
<a class="anchor" id="af42731804c4b1c2fdb3b4e7d13dffb4a"></a><!-- doxytag: member="audstrings.h::filename_get_subtune" ref="af42731804c4b1c2fdb3b4e7d13dffb4a" args="(const gchar *filename, gint *track)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gchar* filename_get_subtune </td>
          <td>(</td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> *&#160;</td>
          <td class="paramname"><em>track</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks if given URI contains a subtune indicator/number. </p>
<p>If it does, track is set to to it, and position of subtune separator in the URI string is returned.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">filename</td><td>Filename/URI to split. </td></tr>
    <tr><td class="paramname">track</td><td>Pointer to variable where subtune number should be assigned or NULL if it is not needed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Position of subtune separator character in filename or NULL if none found. Notice that this value should NOT be modified, even though it is not declared const for technical reasons. </dd></dl>

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00285">285</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

<p>Referenced by <a class="el" href="audstrings_8c_source.html#l00316">filename_split_subtune()</a>.</p>

</div>
</div>
<a class="anchor" id="a1f7caed89cb5e7fd8271645662f73526"></a><!-- doxytag: member="audstrings.h::filename_split_subtune" ref="a1f7caed89cb5e7fd8271645662f73526" args="(const gchar *filename, gint *track)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gchar* filename_split_subtune </td>
          <td>(</td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> *&#160;</td>
          <td class="paramname"><em>track</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given file path/URI contains ending indicating subtune number "?&lt;number&gt;", splits the string into filename without subtune value. </p>
<p>If given track pointer is non-NULL, subtune number is assigned into it.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">filename</td><td>Filename/URI to split. </td></tr>
    <tr><td class="paramname">track</td><td>Pointer to variable where subtune number should be assigned or NULL if it is not needed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Newly allocated splitted filename without the subtune indicator. This string must be freed with g_free(). NULL will be returned if there was any failure. </dd></dl>

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00316">316</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

<p>Referenced by <a class="el" href="probe_8c_source.html#l00182">file_find_decoder()</a>.</p>

</div>
</div>
<a class="anchor" id="ac7e074246cde9151221c6cb4223e1b5f"></a><!-- doxytag: member="audstrings.h::filename_to_uri" ref="ac7e074246cde9151221c6cb4223e1b5f" args="(const gchar *filename)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gchar* filename_to_uri </td>
          <td>(</td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00495">495</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

<p>Referenced by <a class="el" href="folder-add_8c_source.html#l00089">add_cb()</a>, <a class="el" href="main_8c_source.html#l00198">handle_cmd_line_filenames()</a>, <a class="el" href="playlist-utils_8c_source.html#l00339">load_playlists()</a>, <a class="el" href="playlist-utils_8c_source.html#l00367">save_playlists()</a>, and <a class="el" href="audstrings_8c_source.html#l00465">uri_to_utf8()</a>.</p>

</div>
</div>
<a class="anchor" id="a3b04f7c89885f3d9c6d839970024d689"></a><!-- doxytag: member="audstrings.h::memfind" ref="a3b04f7c89885f3d9c6d839970024d689" args="(const void *mem, gint size, const void *token, gint length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const void* memfind </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>mem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a>&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>token</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a>&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00233">233</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

</div>
</div>
<a class="anchor" id="af6eeffd1c7327e023ea6e7303f03aa35"></a><!-- doxytag: member="audstrings.h::str_append" ref="af6eeffd1c7327e023ea6e7303f03aa35" args="(gchar *str, const gchar *add_str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gchar* str_append </td>
          <td>(</td>
          <td class="paramtype">gchar *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>add_str</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00097">97</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

</div>
</div>
<a class="anchor" id="ad0cefd4609880af4801cfff2c8b18fd9"></a><!-- doxytag: member="audstrings.h::str_assert_utf8" ref="ad0cefd4609880af4801cfff2c8b18fd9" args="(const gchar *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gchar* str_assert_utf8 </td>
          <td>(</td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This function can be used to assert that a given string is valid UTF-8. </p>
<p>If it is, a copy of the string is returned. However, if the string is NOT valid UTF-8, a warning and a callstack backtrace is printed in order to see where the problem occured.</p>
<p>This is a temporary measure for removing useless str_to_utf8 etc. calls and will be eventually removed. This function should be used in place of <a class="el" href="audstrings_8c.html#a83adc6065313b888aed68db2394df298" title="Convert given string from nearly any encoding to UTF-8 encoding.">str_to_utf8()</a> calls when it can be reasonably assumed that the input should already be in unicode encoding.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>String to be tested and converted to UTF-8 encoding. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>String in UTF-8 encoding, or NULL if conversion failed or input was NULL. </dd></dl>

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00194">194</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

</div>
</div>
<a class="anchor" id="a531ba788c7622fa2cbd9a1b3629a6695"></a><!-- doxytag: member="audstrings.h::str_has_prefix_nocase" ref="a531ba788c7622fa2cbd9a1b3629a6695" args="(const gchar *str, const gchar *prefix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="playlist-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a> str_has_prefix_nocase </td>
          <td>(</td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00116">116</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

</div>
</div>
<a class="anchor" id="abc46537190d5b1878fd02b5130cd045d"></a><!-- doxytag: member="audstrings.h::str_has_suffix_nocase" ref="abc46537190d5b1878fd02b5130cd045d" args="(const gchar *str, const gchar *suffix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="playlist-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a> str_has_suffix_nocase </td>
          <td>(</td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>suffix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00122">122</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

<p>Referenced by <a class="el" href="pluginenum_8c_source.html#l00302">scan_plugin_func()</a>, and <a class="el" href="audstrings_8c_source.html#l00129">str_has_suffixes_nocase()</a>.</p>

</div>
</div>
<a class="anchor" id="aa4977cb0936db55f949be9a14d83f9b1"></a><!-- doxytag: member="audstrings.h::str_has_suffixes_nocase" ref="aa4977cb0936db55f949be9a14d83f9b1" args="(const gchar *str, gchar *const *suffixes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="playlist-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a> str_has_suffixes_nocase </td>
          <td>(</td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gchar *const *&#160;</td>
          <td class="paramname"><em>suffixes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00129">129</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

</div>
</div>
<a class="anchor" id="a2fa21d6594a12cc587e473a4ba6ce37c"></a><!-- doxytag: member="audstrings.h::str_replace" ref="a2fa21d6594a12cc587e473a4ba6ce37c" args="(gchar *str, gchar *new_str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gchar* str_replace </td>
          <td>(</td>
          <td class="paramtype">gchar *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gchar *&#160;</td>
          <td class="paramname"><em>new_str</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00103">103</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

<p>Referenced by <a class="el" href="audstrings_8c_source.html#l00097">str_append()</a>, and <a class="el" href="audstrings_8c_source.html#l00110">str_replace_in()</a>.</p>

</div>
</div>
<a class="anchor" id="a18505b0df0c16f5bed1f5daab13df08a"></a><!-- doxytag: member="audstrings.h::str_replace_in" ref="a18505b0df0c16f5bed1f5daab13df08a" args="(gchar **str, gchar *new_str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void str_replace_in </td>
          <td>(</td>
          <td class="paramtype">gchar **&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gchar *&#160;</td>
          <td class="paramname"><em>new_str</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00110">110</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

</div>
</div>
<a class="anchor" id="adf9010ec612b9bb80854a252dfc86d82"></a><!-- doxytag: member="audstrings.h::str_skip_chars" ref="adf9010ec612b9bb80854a252dfc86d82" args="(const gchar *str, const gchar *chars)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const gchar* str_skip_chars </td>
          <td>(</td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>chars</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00226">226</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

</div>
</div>
<a class="anchor" id="a8c75c8a69e314ab31037f9594a2f9305"></a><!-- doxytag: member="audstrings.h::str_to_utf8_fallback" ref="a8c75c8a69e314ab31037f9594a2f9305" args="(const gchar *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gchar* str_to_utf8_fallback </td>
          <td>(</td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00144">144</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

<p>Referenced by <a class="el" href="chardet_8c_source.html#l00035">cd_str_to_utf8()</a>.</p>

</div>
</div>
<a class="anchor" id="afcc08d171591e71121bbcd6248b14008"></a><!-- doxytag: member="audstrings.h::string_compare" ref="afcc08d171591e71121bbcd6248b14008" args="(const gchar *a, const gchar *b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> string_compare </td>
          <td>(</td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00529">529</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

<p>Referenced by <a class="el" href="plugin-registry_8c_source.html#l00372">plugin_compare()</a>, and <a class="el" href="playlist-utils_8c_source.html#l00061">tuple_compare_string()</a>.</p>

</div>
</div>
<a class="anchor" id="acf6ae35f89287be563d6df78a3cdc321"></a><!-- doxytag: member="audstrings.h::string_compare_encoded" ref="acf6ae35f89287be563d6df78a3cdc321" args="(const gchar *a, const gchar *b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> string_compare_encoded </td>
          <td>(</td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00573">573</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

<p>Referenced by <a class="el" href="folder-add_8c_source.html#l00089">add_cb()</a>, and <a class="el" href="playlist-utils_8c_source.html#l00056">filename_compare_basename()</a>.</p>

</div>
</div>
<a class="anchor" id="a1abf557c84fc1e6872140a048951ad9e"></a><!-- doxytag: member="audstrings.h::string_cut_extension" ref="a1abf557c84fc1e6872140a048951ad9e" args="(gchar *string)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void string_cut_extension </td>
          <td>(</td>
          <td class="paramtype">gchar *&#160;</td>
          <td class="paramname"><em>string</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00517">517</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

<p>Referenced by <a class="el" href="tuple__formatter_8c_source.html#l00594">tuple_formatter_make_title_string()</a>.</p>

</div>
</div>
<a class="anchor" id="a45ec2f0bd1b5433bc34eade2f2faafdd"></a><!-- doxytag: member="audstrings.h::string_decode_percent" ref="a45ec2f0bd1b5433bc34eade2f2faafdd" args="(gchar *string)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void string_decode_percent </td>
          <td>(</td>
          <td class="paramtype">gchar *&#160;</td>
          <td class="paramname"><em>string</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00370">370</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

<p>Referenced by <a class="el" href="tuple_8c_source.html#l00194">tuple_set_filename()</a>.</p>

</div>
</div>
<a class="anchor" id="ac9672d7680705de649e59b7c1b91e839"></a><!-- doxytag: member="audstrings.h::string_encode_percent" ref="ac9672d7680705de649e59b7c1b91e839" args="(const gchar *string, gboolean is_filename)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gchar* string_encode_percent </td>
          <td>(</td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>string</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="playlist-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a>&#160;</td>
          <td class="paramname"><em>is_filename</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00393">393</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

<p>Referenced by <a class="el" href="audstrings_8c_source.html#l00495">filename_to_uri()</a>.</p>

</div>
</div>
<a class="anchor" id="a3353d15e487aa4bb3b7286bcbcf2cdd7"></a><!-- doxytag: member="audstrings.h::string_replace_char" ref="a3353d15e487aa4bb3b7286bcbcf2cdd7" args="(gchar *string, gchar old_str, gchar new_str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void string_replace_char </td>
          <td>(</td>
          <td class="paramtype">gchar *&#160;</td>
          <td class="paramname"><em>string</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gchar&#160;</td>
          <td class="paramname"><em>old_str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gchar&#160;</td>
          <td class="paramname"><em>new_str</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00332">332</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

<p>Referenced by <a class="el" href="audstrings_8c_source.html#l00259">convert_dos_path()</a>.</p>

</div>
</div>
<a class="anchor" id="a05b116a9463f3608b1db16c680908859"></a><!-- doxytag: member="audstrings.h::uri_check_utf8" ref="a05b116a9463f3608b1db16c680908859" args="(gchar **uri, gboolean warn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void uri_check_utf8 </td>
          <td>(</td>
          <td class="paramtype">gchar **&#160;</td>
          <td class="paramname"><em>uri</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="playlist-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a>&#160;</td>
          <td class="paramname"><em>warn</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00482">482</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

<p>Referenced by <a class="el" href="playlist-new_8c_source.html#l00882">make_entries()</a>.</p>

</div>
</div>
<a class="anchor" id="a139a0a249fe2779da8dc18e93277bf8f"></a><!-- doxytag: member="audstrings.h::uri_is_utf8" ref="a139a0a249fe2779da8dc18e93277bf8f" args="(const gchar *uri, gboolean warn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="playlist-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a> uri_is_utf8 </td>
          <td>(</td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>uri</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="playlist-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a>&#160;</td>
          <td class="paramname"><em>warn</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00430">430</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

<p>Referenced by <a class="el" href="playlist-new_8c_source.html#l01545">playlist_rescan_file()</a>, and <a class="el" href="audstrings_8c_source.html#l00482">uri_check_utf8()</a>.</p>

</div>
</div>
<a class="anchor" id="ae355d75010bd485662af74114ce43df8"></a><!-- doxytag: member="audstrings.h::uri_to_filename" ref="ae355d75010bd485662af74114ce43df8" args="(const gchar *uri)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gchar* uri_to_filename </td>
          <td>(</td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>uri</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00508">508</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

<p>Referenced by <a class="el" href="ui__albumart_8c_source.html#l00192">get_associated_image_file()</a>, <a class="el" href="folder-add_8c_source.html#l00200">playlist_insert_folder()</a>, <a class="el" href="vfs_8c_source.html#l00318">vfs_file_test()</a>, and <a class="el" href="vfs_8c_source.html#l00342">vfs_is_writeable()</a>.</p>

</div>
</div>
<a class="anchor" id="af9a9db5b1341fa8d325b0927d8d028fd"></a><!-- doxytag: member="audstrings.h::uri_to_utf8" ref="af9a9db5b1341fa8d325b0927d8d028fd" args="(const gchar *uri)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gchar* uri_to_utf8 </td>
          <td>(</td>
          <td class="paramtype">const gchar *&#160;</td>
          <td class="paramname"><em>uri</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00465">465</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

<p>Referenced by <a class="el" href="playlist-new_8c_source.html#l01545">playlist_rescan_file()</a>, and <a class="el" href="audstrings_8c_source.html#l00482">uri_check_utf8()</a>.</p>

</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="aa758d9ff3c619431cddcfe1b4c3af4d7"></a><!-- doxytag: member="audstrings.h::chardet_to_utf8" ref="aa758d9ff3c619431cddcfe1b4c3af4d7" args=")(const gchar *string, gssize length, gsize *bytes_read, gsize *bytes_written, GError **error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gchar*(* <a class="el" href="audstrings_8h.html#aa758d9ff3c619431cddcfe1b4c3af4d7">chardet_to_utf8</a>)(const gchar *str, gssize len, gsize *arg_bytes_read, gsize *arg_bytes_write, GError **arg_error)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="audstrings_8h_source.html#l00054">54</a> of file <a class="el" href="audstrings_8h_source.html">audstrings.h</a>.</p>

<p>Referenced by <a class="el" href="chardet_8c_source.html#l00182">chardet_init()</a>.</p>

</div>
</div>
<a class="anchor" id="a83adc6065313b888aed68db2394df298"></a><!-- doxytag: member="audstrings.h::str_to_utf8" ref="a83adc6065313b888aed68db2394df298" args=")(const gchar *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gchar*(* <a class="el" href="audstrings_8h.html#a83adc6065313b888aed68db2394df298">str_to_utf8</a>)(const gchar *str)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convert given string from nearly any encoding to UTF-8 encoding. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>Local filename/path to convert. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>String in UTF-8 encoding. Must be freed with g_free(). </dd></dl>

<p>Definition at line <a class="el" href="audstrings_8c_source.html#l00169">169</a> of file <a class="el" href="audstrings_8c_source.html">audstrings.c</a>.</p>

<p>Referenced by <a class="el" href="chardet_8c_source.html#l00182">chardet_init()</a>, <a class="el" href="audstrings_8c_source.html#l00194">str_assert_utf8()</a>, <a class="el" href="tuple_8c_source.html#l00425">tuple_associate_string()</a>, and <a class="el" href="tuple_8c_source.html#l00194">tuple_set_filename()</a>.</p>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sun Apr 17 2011 for Audacious by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>