<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.3"/> <title>Audacious: strpool.c File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Audacious  <span id="projectnumber">$Id:Doxyfile42802007-03-2104:39:00Znenolod$</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.3 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_539eecd099282e37732f96b8529d94e5.html">libaudcore</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#func-members">Functions</a> | <a href="#var-members">Variables</a> </div> <div class="headertitle"> <div class="title">strpool.c File Reference</div> </div> </div><!--header--> <div class="contents"> <div class="textblock"><code>#include <glib.h></code><br/> <code>#include <pthread.h></code><br/> <code>#include <stdarg.h></code><br/> <code>#include <stdio.h></code><br/> <code>#include <stdint.h></code><br/> <code>#include <stdlib.h></code><br/> <code>#include <string.h></code><br/> <code>#include "config.h"</code><br/> <code>#include "<a class="el" href="core_8h_source.html">core.h</a>"</code><br/> </div> <p><a href="strpool_8c_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a41dec126732f9169c5c86d707b5e8a8b"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="strpool_8c.html#a41dec126732f9169c5c86d707b5e8a8b">str_destroy</a> (void *str)</td></tr> <tr class="separator:a41dec126732f9169c5c86d707b5e8a8b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7f8211fea2188fd282b9ff3d58df2263"><td class="memItemLeft" align="right" valign="top">EXPORT char * </td><td class="memItemRight" valign="bottom"><a class="el" href="strpool_8c.html#a7f8211fea2188fd282b9ff3d58df2263">str_get</a> (const char *str)</td></tr> <tr class="separator:a7f8211fea2188fd282b9ff3d58df2263"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a37dff3648c177485a65275b5670c7f40"><td class="memItemLeft" align="right" valign="top">EXPORT char * </td><td class="memItemRight" valign="bottom"><a class="el" href="strpool_8c.html#a37dff3648c177485a65275b5670c7f40">str_ref</a> (char *str)</td></tr> <tr class="separator:a37dff3648c177485a65275b5670c7f40"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9d9bbd2b30cb5c32b86e1bbde6b968e0"><td class="memItemLeft" align="right" valign="top">EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="strpool_8c.html#a9d9bbd2b30cb5c32b86e1bbde6b968e0">str_unref</a> (char *str)</td></tr> <tr class="separator:a9d9bbd2b30cb5c32b86e1bbde6b968e0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab3031912ee272cbf398ee3ad4c168e7a"><td class="memItemLeft" align="right" valign="top">EXPORT char * </td><td class="memItemRight" valign="bottom"><a class="el" href="strpool_8c.html#ab3031912ee272cbf398ee3ad4c168e7a">str_nget</a> (const char *str, <a class="el" href="plugins-api_8h.html#a61569f2965b7a369eb10b6d75d410d11">int</a> len)</td></tr> <tr class="separator:ab3031912ee272cbf398ee3ad4c168e7a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aea62956ed46fc804a89eb399cce290b1"><td class="memItemLeft" align="right" valign="top">EXPORT char * </td><td class="memItemRight" valign="bottom"><a class="el" href="strpool_8c.html#aea62956ed46fc804a89eb399cce290b1">str_printf</a> (const char *<a class="el" href="audio_8c.html#a317afff57d87a89158c2b038d37b2b08">format</a>,...)</td></tr> <tr class="separator:aea62956ed46fc804a89eb399cce290b1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8fce129934509057585e9e3c7af4ec33"><td class="memItemLeft" align="right" valign="top">EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="strpool_8c.html#a8fce129934509057585e9e3c7af4ec33">strpool_abort</a> (char *str)</td></tr> <tr class="separator:a8fce129934509057585e9e3c7af4ec33"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adc2abcc1101852db1fd4e91b0adc13de"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="strpool_8c.html#adc2abcc1101852db1fd4e91b0adc13de">str_leaked</a> (void *key, void *str, void *unused)</td></tr> <tr class="separator:adc2abcc1101852db1fd4e91b0adc13de"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae9f7e8d549555aefdff485c9b55f685c"><td class="memItemLeft" align="right" valign="top">EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="strpool_8c.html#ae9f7e8d549555aefdff485c9b55f685c">strpool_shutdown</a> (void)</td></tr> <tr class="separator:ae9f7e8d549555aefdff485c9b55f685c"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> <tr class="memitem:a4acff8232e4aec9cd5c6dc200ac55ef3"><td class="memItemLeft" align="right" valign="top">static pthread_mutex_t </td><td class="memItemRight" valign="bottom"><a class="el" href="strpool_8c.html#a4acff8232e4aec9cd5c6dc200ac55ef3">mutex</a> = PTHREAD_MUTEX_INITIALIZER</td></tr> <tr class="separator:a4acff8232e4aec9cd5c6dc200ac55ef3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaf3958805171c966e036b41e1f7d1ae9"><td class="memItemLeft" align="right" valign="top">static GHashTable * </td><td class="memItemRight" valign="bottom"><a class="el" href="strpool_8c.html#aaf3958805171c966e036b41e1f7d1ae9">table</a></td></tr> <tr class="separator:aaf3958805171c966e036b41e1f7d1ae9"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="a41dec126732f9169c5c86d707b5e8a8b"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static void str_destroy </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"><em>str</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="strpool_8c_source.html#l00060">60</a> of file <a class="el" href="strpool_8c_source.html">strpool.c</a>.</p> <p>Referenced by <a class="el" href="strpool_8c_source.html#l00069">str_get()</a>.</p> </div> </div> <a class="anchor" id="a7f8211fea2188fd282b9ff3d58df2263"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EXPORT char* str_get </td> <td>(</td> <td class="paramtype">const char * </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="strpool_8c_source.html#l00069">69</a> of file <a class="el" href="strpool_8c_source.html">strpool.c</a>.</p> <p>Referenced by <a class="el" href="adder_8c_source.html#l00266">add_folder()</a>, <a class="el" href="art_8c_source.html#l00070">art_item_new()</a>, <a class="el" href="config_8c_source.html#l00191">config_set_defaults()</a>, <a class="el" href="main_8c_source.html#l00301">convert_filenames()</a>, <a class="el" href="drct_8c_source.html#l00241">drct_pl_add()</a>, <a class="el" href="drct_8c_source.html#l00253">drct_pl_open()</a>, <a class="el" href="drct_8c_source.html#l00265">drct_pl_open_temp()</a>, <a class="el" href="hook_8c_source.html#l00043">hook_associate()</a>, <a class="el" href="playlist-new_8c_source.html#l02349">parse_string()</a>, <a class="el" href="adder_8c_source.html#l00520">playlist_entry_insert()</a>, <a class="el" href="playlist-new_8c_source.html#l00316">playlist_new()</a>, <a class="el" href="playlist-new_8c_source.html#l00880">playlist_set_filename()</a>, <a class="el" href="playlist-new_8c_source.html#l00905">playlist_set_title()</a>, <a class="el" href="util_8c_source.html#l00349">str_get_decoded()</a>, <a class="el" href="strpool_8c_source.html#l00152">str_nget()</a>, <a class="el" href="strpool_8c_source.html#l00164">str_printf()</a>, <a class="el" href="dbus_8c_source.html#l00777">strings_to_index()</a>, <a class="el" href="tuple_8c_source.html#l00598">tuple_format_title()</a>, <a class="el" href="tuple__formatter_8c_source.html#l00059">tuple_formatter_process_string()</a>, <a class="el" href="tuple_8c_source.html#l00394">tuple_set_str()</a>, <a class="el" href="vfs__async_8c_source.html#l00064">vfs_async_file_get_contents()</a>, and <a class="el" href="vfs_8c_source.html#l00095">vfs_new()</a>.</p> </div> </div> <a class="anchor" id="adc2abcc1101852db1fd4e91b0adc13de"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static void str_leaked </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"><em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>str</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>unused</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="strpool_8c_source.html#l00190">190</a> of file <a class="el" href="strpool_8c_source.html">strpool.c</a>.</p> <p>Referenced by <a class="el" href="strpool_8c_source.html#l00198">strpool_shutdown()</a>.</p> </div> </div> <a class="anchor" id="ab3031912ee272cbf398ee3ad4c168e7a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EXPORT char* str_nget </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>str</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="plugins-api_8h.html#a61569f2965b7a369eb10b6d75d410d11">int</a> </td> <td class="paramname"><em>len</em> </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="strpool_8c_source.html#l00152">152</a> of file <a class="el" href="strpool_8c_source.html">strpool.c</a>.</p> </div> </div> <a class="anchor" id="aea62956ed46fc804a89eb399cce290b1"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EXPORT char* str_printf </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>format</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </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="strpool_8c_source.html#l00164">164</a> of file <a class="el" href="strpool_8c_source.html">strpool.c</a>.</p> <p>Referenced by <a class="el" href="adder_8c_source.html#l00219">add_file()</a>, <a class="el" href="playlist-files_8c_source.html#l00045">get_plugin()</a>, and <a class="el" href="playback_8c_source.html#l00462">playback_get_title()</a>.</p> </div> </div> <a class="anchor" id="a37dff3648c177485a65275b5670c7f40"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EXPORT char* str_ref </td> <td>(</td> <td class="paramtype">char * </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="strpool_8c_source.html#l00109">109</a> of file <a class="el" href="strpool_8c_source.html">strpool.c</a>.</p> <p>Referenced by <a class="el" href="playlist-new_8c_source.html#l02225">playback_entry_get_title()</a>, <a class="el" href="playback_8c_source.html#l00456">playback_get_filename()</a>, <a class="el" href="playlist-new_8c_source.html#l01233">playlist_entry_describe()</a>, <a class="el" href="playlist-new_8c_source.html#l01189">playlist_entry_get_filename()</a>, <a class="el" href="playlist-new_8c_source.html#l01223">playlist_entry_get_title()</a>, <a class="el" href="playlist-new_8c_source.html#l00894">playlist_get_filename()</a>, <a class="el" href="playlist-new_8c_source.html#l00919">playlist_get_title()</a>, <a class="el" href="playlist-new_8c_source.html#l00581">scanner()</a>, <a class="el" href="tuple_8c_source.html#l00335">tuple_copy()</a>, and <a class="el" href="tuple_8c_source.html#l00476">tuple_get_str()</a>.</p> </div> </div> <a class="anchor" id="a9d9bbd2b30cb5c32b86e1bbde6b968e0"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EXPORT void str_unref </td> <td>(</td> <td class="paramtype">char * </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="strpool_8c_source.html#l00132">132</a> of file <a class="el" href="strpool_8c_source.html">strpool.c</a>.</p> <p>Referenced by <a class="el" href="adder_8c_source.html#l00219">add_file()</a>, <a class="el" href="adder_8c_source.html#l00266">add_folder()</a>, <a class="el" href="adder_8c_source.html#l00339">add_playlist()</a>, <a class="el" href="art_8c_source.html#l00164">art_cleanup()</a>, <a class="el" href="art_8c_source.html#l00051">art_item_free()</a>, <a class="el" href="dbus_8c_source.html#l01040">audacious_rc_get_active_playlist_name()</a>, <a class="el" href="dbus_8c_source.html#l00720">audacious_rc_song_filename()</a>, <a class="el" href="dbus_8c_source.html#l00708">audacious_rc_song_title()</a>, <a class="el" href="main_8c_source.html#l00339">do_remote()</a>, <a class="el" href="playlist-new_8c_source.html#l00288">entry_free()</a>, <a class="el" href="playlist-new_8c_source.html#l00162">entry_set_tuple_real()</a>, <a class="el" href="dbus_8c_source.html#l00301">get_mpris_metadata()</a>, <a class="el" href="util_8c_source.html#l00336">get_nonblank_field()</a>, <a class="el" href="playlist-files_8c_source.html#l00045">get_plugin()</a>, <a class="el" href="adder_8c_source.html#l00148">index_free_filenames()</a>, <a class="el" href="dbus_8c_source.html#l00447">mpris_emit_track_change()</a>, <a class="el" href="playback_8c_source.html#l00216">playback_cleanup()</a>, <a class="el" href="playlist-new_8c_source.html#l00344">playlist_free()</a>, <a class="el" href="playlist-new_8c_source.html#l01034">playlist_get_blank()</a>, <a class="el" href="playlist-new_8c_source.html#l01049">playlist_get_temporary()</a>, <a class="el" href="playlist-files_8c_source.html#l00104">playlist_insert_playlist_raw()</a>, <a class="el" href="playlist-new_8c_source.html#l02354">playlist_load_state()</a>, <a class="el" href="playlist-new_8c_source.html#l01741">playlist_reformat_titles()</a>, <a class="el" href="playlist-utils_8c_source.html#l00153">playlist_remove_duplicates_by_scheme()</a>, <a class="el" href="playlist-utils_8c_source.html#l00211">playlist_remove_failed()</a>, <a class="el" href="playlist-files_8c_source.html#l00122">playlist_save()</a>, <a class="el" href="playlist-utils_8c_source.html#l00233">playlist_select_by_patterns()</a>, <a class="el" href="playlist-new_8c_source.html#l00880">playlist_set_filename()</a>, <a class="el" href="playlist-new_8c_source.html#l00905">playlist_set_title()</a>, <a class="el" href="art_8c_source.html#l00148">position_hook()</a>, <a class="el" href="playlist-new_8c_source.html#l00581">scanner()</a>, <a class="el" href="config_8c_source.html#l00101">str_unref_cb()</a>, <a class="el" href="playlist-utils_8c_source.html#l00045">tuple_compare_string()</a>, <a class="el" href="tuple_8c_source.html#l00244">tuple_destroy_unlocked()</a>, <a class="el" href="tuple__compiler_8c_source.html#l00093">tuple_evalctx_free_var()</a>, <a class="el" href="tuple__compiler_8c_source.html#l00111">tuple_evalctx_reset()</a>, <a class="el" href="tuple_8c_source.html#l00598">tuple_format_title()</a>, <a class="el" href="tuple_8c_source.html#l00394">tuple_set_str()</a>, <a class="el" href="tuple_8c_source.html#l00423">tuple_unset()</a>, <a class="el" href="dbus_8c_source.html#l00206">tuple_value_to_gvalue()</a>, <a class="el" href="playback_8c_source.html#l00103">update_from_playlist()</a>, <a class="el" href="vfs__async_8c_source.html#l00037">vfs_async_file_get_contents_trampoline()</a>, and <a class="el" href="vfs_8c_source.html#l00166">vfs_fclose()</a>.</p> </div> </div> <a class="anchor" id="a8fce129934509057585e9e3c7af4ec33"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EXPORT void strpool_abort </td> <td>(</td> <td class="paramtype">char * </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="strpool_8c_source.html#l00181">181</a> of file <a class="el" href="strpool_8c_source.html">strpool.c</a>.</p> </div> </div> <a class="anchor" id="ae9f7e8d549555aefdff485c9b55f685c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EXPORT void strpool_shutdown </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="strpool_8c_source.html#l00198">198</a> of file <a class="el" href="strpool_8c_source.html">strpool.c</a>.</p> <p>Referenced by <a class="el" href="main_8c_source.html#l00493">shut_down()</a>.</p> </div> </div> <h2 class="groupheader">Variable Documentation</h2> <a class="anchor" id="a4acff8232e4aec9cd5c6dc200ac55ef3"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="strpool_8c_source.html#l00034">34</a> of file <a class="el" href="strpool_8c_source.html">strpool.c</a>.</p> <p>Referenced by <a class="el" href="strpool_8c_source.html#l00069">str_get()</a>, <a class="el" href="strpool_8c_source.html#l00109">str_ref()</a>, and <a class="el" href="strpool_8c_source.html#l00132">str_unref()</a>.</p> </div> </div> <a class="anchor" id="aaf3958805171c966e036b41e1f7d1ae9"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">GHashTable* table</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="strpool_8c_source.html#l00035">35</a> of file <a class="el" href="strpool_8c_source.html">strpool.c</a>.</p> <p>Referenced by <a class="el" href="config_8c_source.html#l00191">config_set_defaults()</a>, <a class="el" href="config_8c_source.html#l00219">get_default()</a>, <a class="el" href="pluginenum_8c_source.html#l00124">plugin_load()</a>, <a class="el" href="strpool_8c_source.html#l00069">str_get()</a>, <a class="el" href="strpool_8c_source.html#l00132">str_unref()</a>, and <a class="el" href="strpool_8c_source.html#l00198">strpool_shutdown()</a>.</p> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.3 </small></address> </body> </html>