4
4
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
5
5
<title>Utility Functions</title>
6
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
6
<meta name="generator" content="DocBook XSL Stylesheets V1.73.1">
7
7
<link rel="start" href="index.html" title="Evolution API Reference: libedataserver, utility library">
8
8
<link rel="up" href="ch01.html" title="Evolution API Reference: libedataserver, utility library">
9
9
<link rel="prev" href="libedataserver-e-uid.html" title="User ID Generation">
10
10
<link rel="next" href="libedataserver-e-url.html" title="EUrl">
11
<meta name="generator" content="GTK-Doc V1.9 (XML mode)">
11
<meta name="generator" content="GTK-Doc V1.10 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
13
13
<link rel="chapter" href="ch01.html" title="Evolution API Reference: libedataserver, utility library">
14
14
<link rel="index" href="ix01.html" title="Index">
22
22
<th width="100%" align="center">Evolution API Reference: libedataserver, utility library</th>
23
23
<td><a accesskey="n" href="libedataserver-e-url.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
25
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2586232" class="shortcut">Top</a>
25
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2598027" class="shortcut">Top</a>
27
<a href="#id2622791" class="shortcut">Description</a></nobr></td></tr>
27
<a href="#id2649092" class="shortcut">Description</a></nobr></td></tr>
29
29
<div class="refentry" lang="en">
30
30
<a name="libedataserver-e-util"></a><div class="titlepage"></div>
31
31
<div class="refnamediv"><table width="100%"><tr>
34
<a name="id2586232"></a><span class="refentrytitle">Utility Functions</span>
34
<a name="id2598027"></a><span class="refentrytitle">Utility Functions</span>
36
36
<p>Utility Functions — Miscellaneous utility functions for evolution-data-server.</p>
46
struct <a href="libedataserver-e-util.html#tm">tm</a>;
47
int <a href="libedataserver-e-util.html#e-util-mkdir-hier">e_util_mkdir_hier</a> (const char *path,
46
struct <a class="link" href="libedataserver-e-util.html#tm">tm</a>;
47
int <a class="link" href="libedataserver-e-util.html#e-util-mkdir-hier">e_util_mkdir_hier</a> (const char *path,
50
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
51
>gchar</a>* <a href="libedataserver-e-util.html#e-util-strstrcase">e_util_strstrcase</a> (const <a
52
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
55
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
58
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
59
>gchar</a>* <a href="libedataserver-e-util.html#e-util-unicode-get-utf8">e_util_unicode_get_utf8</a> (const <a
60
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
63
href="/opt/gnome/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html#gunichar"
66
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
67
>gchar</a>* <a href="libedataserver-e-util.html#e-util-utf8-strstrcase">e_util_utf8_strstrcase</a> (const <a
68
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
71
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
74
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
75
>gchar</a>* <a href="libedataserver-e-util.html#e-util-utf8-strstrcasedecomp">e_util_utf8_strstrcasedecomp</a> (const <a
76
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
79
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
81
int <a href="libedataserver-e-util.html#e-util-utf8-strcasecmp">e_util_utf8_strcasecmp</a> (const <a
82
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
85
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
88
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#guint64"
89
>guint64</a> <a href="libedataserver-e-util.html#e-util-pthread-id">e_util_pthread_id</a> (pthread_t t);
90
void <a href="libedataserver-e-util.html#e-filename-make-safe">e_filename_make_safe</a> (<a
91
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
93
size_t <a href="libedataserver-e-util.html#e-utf8-strftime">e_utf8_strftime</a> (char *s,
97
size_t <a href="libedataserver-e-util.html#e-strftime">e_strftime</a> (char *s,
100
const struct tm *tm);
101
const char* <a href="libedataserver-e-util.html#e-util-get-prefix">e_util_get_prefix</a> (void);
102
const char* <a href="libedataserver-e-util.html#e-util-get-cp-prefix">e_util_get_cp_prefix</a> (void);
103
const char* <a href="libedataserver-e-util.html#e-util-get-localedir">e_util_get_localedir</a> (void);
104
char* <a href="libedataserver-e-util.html#e-util-replace-prefix">e_util_replace_prefix</a> (const char *configure_time_prefix,
49
gchar* <a class="link" href="libedataserver-e-util.html#e-util-strstrcase">e_util_strstrcase</a> (const gchar *haystack,
51
gchar* <a class="link" href="libedataserver-e-util.html#e-util-unicode-get-utf8">e_util_unicode_get_utf8</a> (const gchar *text,
53
const gchar* <a class="link" href="libedataserver-e-util.html#e-util-utf8-strstrcase">e_util_utf8_strstrcase</a> (const gchar *haystack,
55
const gchar* <a class="link" href="libedataserver-e-util.html#e-util-utf8-strstrcasedecomp">e_util_utf8_strstrcasedecomp</a> (const gchar *haystack,
57
int <a class="link" href="libedataserver-e-util.html#e-util-utf8-strcasecmp">e_util_utf8_strcasecmp</a> (const gchar *s1,
59
guint64 <a class="link" href="libedataserver-e-util.html#e-util-pthread-id">e_util_pthread_id</a> (pthread_t t);
60
void <a class="link" href="libedataserver-e-util.html#e-filename-make-safe">e_filename_make_safe</a> (gchar *string);
61
size_t <a class="link" href="libedataserver-e-util.html#e-utf8-strftime">e_utf8_strftime</a> (char *s,
65
size_t <a class="link" href="libedataserver-e-util.html#e-strftime">e_strftime</a> (char *s,
69
const char* <a class="link" href="libedataserver-e-util.html#e-util-get-prefix">e_util_get_prefix</a> (void);
70
const char* <a class="link" href="libedataserver-e-util.html#e-util-get-cp-prefix">e_util_get_cp_prefix</a> (void);
71
const char* <a class="link" href="libedataserver-e-util.html#e-util-get-localedir">e_util_get_localedir</a> (void);
72
char* <a class="link" href="libedataserver-e-util.html#e-util-replace-prefix">e_util_replace_prefix</a> (const char *configure_time_prefix,
105
73
const char *runtime_prefix,
106
74
const char *configure_time_path);
109
77
<div class="refsect1" lang="en">
110
<a name="id2622791"></a><h2>Description</h2>
78
<a name="id2649092"></a><h2>Description</h2>
115
83
<div class="refsect1" lang="en">
116
<a name="id2622807"></a><h2>Details</h2>
84
<a name="id2649108"></a><h2>Details</h2>
117
85
<div class="refsect2" lang="en">
118
<a name="id2622817"></a><h3>
86
<a name="id2649118"></a><h3>
119
87
<a name="tm"></a>struct tm</h3>
120
<a class="indexterm" name="id2622829"></a><pre class="programlisting">struct tm;</pre>
88
<a class="indexterm" name="id2649130"></a><pre class="programlisting">struct tm;</pre>
126
94
<div class="refsect2" lang="en">
127
<a name="id2622845"></a><h3>
95
<a name="id2649146"></a><h3>
128
96
<a name="e-util-mkdir-hier"></a>e_util_mkdir_hier ()</h3>
129
<a class="indexterm" name="id2622860"></a><pre class="programlisting">int e_util_mkdir_hier (const char *path,
97
<a class="indexterm" name="id2649161"></a><pre class="programlisting">int e_util_mkdir_hier (const char *path,
130
98
mode_t mode);</pre>
131
99
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
132
100
<h3 class="title">Warning</h3>
165
133
<div class="refsect2" lang="en">
166
<a name="id2614925"></a><h3>
134
<a name="id2649270"></a><h3>
167
135
<a name="e-util-strstrcase"></a>e_util_strstrcase ()</h3>
168
<a class="indexterm" name="id2614937"></a><pre class="programlisting"><a
169
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
170
>gchar</a>* e_util_strstrcase (const <a
171
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
172
>gchar</a> *haystack,
174
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
175
>gchar</a> *needle);</pre>
136
<a class="indexterm" name="id2649283"></a><pre class="programlisting">gchar* e_util_strstrcase (const gchar *haystack,
137
const gchar *needle);</pre>
177
139
Find the first instance of <em class="parameter"><code>needle</code></em> in <em class="parameter"><code>haystack</code></em>, ignoring case for
178
140
bytes that are ASCII characters.</p>
243
199
<div class="refsect2" lang="en">
244
<a name="id2615160"></a><h3>
200
<a name="id2649506"></a><h3>
245
201
<a name="e-util-utf8-strstrcase"></a>e_util_utf8_strstrcase ()</h3>
246
<a class="indexterm" name="id2615172"></a><pre class="programlisting">const <a
247
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
248
>gchar</a>* e_util_utf8_strstrcase (const <a
249
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
250
>gchar</a> *haystack,
252
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
253
>gchar</a> *needle);</pre>
202
<a class="indexterm" name="id2649517"></a><pre class="programlisting">const gchar* e_util_utf8_strstrcase (const gchar *haystack,
203
const gchar *needle);</pre>
255
205
Find the first instance of <em class="parameter"><code>needle</code></em> in <em class="parameter"><code>haystack</code></em>, ignoring case. (No
256
206
proper case folding or decomposing is done.) Both <em class="parameter"><code>needle</code></em> and
262
212
<col align="left" valign="top">
265
<td><span class="term"><em class="parameter"><code>haystack</code></em> :</span></td>
215
<td><p><span class="term"><em class="parameter"><code>haystack</code></em> :</span></p></td>
266
216
<td> The string to search in.
270
<td><span class="term"><em class="parameter"><code>needle</code></em> :</span></td>
220
<td><p><span class="term"><em class="parameter"><code>needle</code></em> :</span></p></td>
271
221
<td> The string to search for.
275
<td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
225
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
276
226
<td> A pointer to the first instance of <em class="parameter"><code>needle</code></em> in <em class="parameter"><code>haystack</code></em>, or
278
href="/opt/gnome/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"
279
><code class="literal">NULL</code></a> if no match is found, or if either of the strings are
227
<code class="literal">NULL</code> if no match is found, or if either of the strings are
280
228
not legal UTF-8 strings.
287
235
<div class="refsect2" lang="en">
288
<a name="id2623469"></a><h3>
236
<a name="id2652075"></a><h3>
289
237
<a name="e-util-utf8-strstrcasedecomp"></a>e_util_utf8_strstrcasedecomp ()</h3>
290
<a class="indexterm" name="id2623480"></a><pre class="programlisting">const <a
291
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
292
>gchar</a>* e_util_utf8_strstrcasedecomp (const <a
293
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
294
>gchar</a> *haystack,
296
href="/opt/gnome/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
297
>gchar</a> *needle);</pre>
238
<a class="indexterm" name="id2652086"></a><pre class="programlisting">const gchar* e_util_utf8_strstrcasedecomp (const gchar *haystack,
239
const gchar *needle);</pre>
299
241
Find the first instance of <em class="parameter"><code>needle</code></em> in <em class="parameter"><code>haystack</code></em>, where both <em class="parameter"><code>needle</code></em>
300
242
and <em class="parameter"><code>haystack</code></em> are UTF-8 strings. Both strings are stripped and
306
248
<col align="left" valign="top">
309
<td><span class="term"><em class="parameter"><code>haystack</code></em> :</span></td>
251
<td><p><span class="term"><em class="parameter"><code>haystack</code></em> :</span></p></td>
310
252
<td> The string to search in.
314
<td><span class="term"><em class="parameter"><code>needle</code></em> :</span></td>
256
<td><p><span class="term"><em class="parameter"><code>needle</code></em> :</span></p></td>
315
257
<td> The string to search for.
319
<td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
261
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
320
262
<td> A pointer to the first instance of <em class="parameter"><code>needle</code></em> in <em class="parameter"><code>haystack</code></em>, or
322
href="/opt/gnome/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"
323
><code class="literal">NULL</code></a> if either of the strings are not legal UTF-8 strings.
263
<code class="literal">NULL</code> if either of the strings are not legal UTF-8 strings.
447
379
<col align="left" valign="top">
450
<td><span class="term"><em class="parameter"><code>s</code></em> :</span></td>
382
<td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
451
383
<td> The string array to store the result in.
455
<td><span class="term"><em class="parameter"><code>max</code></em> :</span></td>
387
<td><p><span class="term"><em class="parameter"><code>max</code></em> :</span></p></td>
456
388
<td> The size of array <em class="parameter"><code>s</code></em>.
460
<td><span class="term"><em class="parameter"><code>fmt</code></em> :</span></td>
392
<td><p><span class="term"><em class="parameter"><code>fmt</code></em> :</span></p></td>
461
393
<td> The formatting to use on <em class="parameter"><code>tm</code></em>.
465
<td><span class="term"><em class="parameter"><code>tm</code></em> :</span></td>
397
<td><p><span class="term"><em class="parameter"><code>tm</code></em> :</span></p></td>
466
398
<td> The time value to format.
470
<td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
402
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
471
403
<td> The number of characters placed in <em class="parameter"><code>s</code></em>.
492
424
<col align="left" valign="top">
495
<td><span class="term"><em class="parameter"><code>s</code></em> :</span></td>
427
<td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
496
428
<td> The string array to store the result in.
500
<td><span class="term"><em class="parameter"><code>max</code></em> :</span></td>
432
<td><p><span class="term"><em class="parameter"><code>max</code></em> :</span></p></td>
501
433
<td> The size of array <em class="parameter"><code>s</code></em>.
505
<td><span class="term"><em class="parameter"><code>fmt</code></em> :</span></td>
437
<td><p><span class="term"><em class="parameter"><code>fmt</code></em> :</span></p></td>
506
438
<td> The formatting to use on <em class="parameter"><code>tm</code></em>.
510
<td><span class="term"><em class="parameter"><code>tm</code></em> :</span></td>
442
<td><p><span class="term"><em class="parameter"><code>tm</code></em> :</span></p></td>
511
443
<td> The time value to format.
515
<td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
447
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
516
448
<td> The number of characters placed in <em class="parameter"><code>s</code></em>.