Mercurial > code
annotate ini.h @ 142:e3cf5ac9a5aa
[p]array_insert now returns -1 or index of added element
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 08 May 2012 15:02:17 +0200 |
parents | 07800b7af208 |
children | 0cf53c588a83 |
rev | line source |
---|---|
79
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 /* |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 * ini.h -- parse .ini like files |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 * |
97 | 4 * Copyright (c) 2011, 2012, David Demelier <markand@malikania.fr> |
79
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 * |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 * Permission to use, copy, modify, and/or distribute this software for any |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 * purpose with or without fee is hereby granted, provided that the above |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 * copyright notice and this permission notice appear in all copies. |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 * |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 */ |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 #ifndef _INI_H_ |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 #define _INI_H_ |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 |
135
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
22 #ifdef __cplusplus |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
23 extern "C" { |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
24 #endif |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
25 |
79
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 #define INI_VERBOSE (1 << 0) /* be verbose */ |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 #define INI_NOREDEFINE (1 << 1) /* do not allow redefinitions */ |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 #define INI_FAILERROR (1 << 2) /* abort parsing on first error */ |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 |
96
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
30 typedef struct ini_config INI_Config; |
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
31 typedef struct ini_section INI_Section; |
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
32 typedef struct ini_option INI_Option; |
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
33 typedef struct ini_handler INI_Handler; |
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
34 |
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
35 typedef void (*INI_ConvertFunc)(void *, const char *, void *); |
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
36 |
142
e3cf5ac9a5aa
[p]array_insert now returns -1 or index of added element
David Demelier <markand@malikania.fr>
parents:
135
diff
changeset
|
37 #if !defined(LIST_ENTRY) |
e3cf5ac9a5aa
[p]array_insert now returns -1 or index of added element
David Demelier <markand@malikania.fr>
parents:
135
diff
changeset
|
38 #define LIST_ENTRY(type) \ |
e3cf5ac9a5aa
[p]array_insert now returns -1 or index of added element
David Demelier <markand@malikania.fr>
parents:
135
diff
changeset
|
39 struct { \ |
e3cf5ac9a5aa
[p]array_insert now returns -1 or index of added element
David Demelier <markand@malikania.fr>
parents:
135
diff
changeset
|
40 struct type *le_next; \ |
e3cf5ac9a5aa
[p]array_insert now returns -1 or index of added element
David Demelier <markand@malikania.fr>
parents:
135
diff
changeset
|
41 struct type **le_prev; \ |
e3cf5ac9a5aa
[p]array_insert now returns -1 or index of added element
David Demelier <markand@malikania.fr>
parents:
135
diff
changeset
|
42 } |
e3cf5ac9a5aa
[p]array_insert now returns -1 or index of added element
David Demelier <markand@malikania.fr>
parents:
135
diff
changeset
|
43 #endif |
e3cf5ac9a5aa
[p]array_insert now returns -1 or index of added element
David Demelier <markand@malikania.fr>
parents:
135
diff
changeset
|
44 |
e3cf5ac9a5aa
[p]array_insert now returns -1 or index of added element
David Demelier <markand@malikania.fr>
parents:
135
diff
changeset
|
45 #if !define(LIST_HEAD) |
e3cf5ac9a5aa
[p]array_insert now returns -1 or index of added element
David Demelier <markand@malikania.fr>
parents:
135
diff
changeset
|
46 #define LIST_HEAD(name, type) \ |
e3cf5ac9a5aa
[p]array_insert now returns -1 or index of added element
David Demelier <markand@malikania.fr>
parents:
135
diff
changeset
|
47 struct name { \ |
e3cf5ac9a5aa
[p]array_insert now returns -1 or index of added element
David Demelier <markand@malikania.fr>
parents:
135
diff
changeset
|
48 struct type *lh_first; |
e3cf5ac9a5aa
[p]array_insert now returns -1 or index of added element
David Demelier <markand@malikania.fr>
parents:
135
diff
changeset
|
49 } |
e3cf5ac9a5aa
[p]array_insert now returns -1 or index of added element
David Demelier <markand@malikania.fr>
parents:
135
diff
changeset
|
50 |
96
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
51 /* -------------------------------------------------------- |
105
eac1f370910a
English review (thanks afranke@)
David Demelier <markand@malikania.fr>
parents:
102
diff
changeset
|
52 * Structure definitions |
96
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
53 * -------------------------------------------------------- */ |
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
54 |
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
55 struct ini_config { |
135
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
56 /* |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
57 * General settings |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
58 */ |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
59 const char *path; /* (ro) file path */ |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
60 int flags; /* (ro) optional flags */ |
96
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
61 |
135
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
62 /* |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
63 * Sections that have been parsed |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
64 */ |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
65 INI_Section *sections; /* (ro) linked-list of sections */ |
96
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
66 |
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
67 /* Private fields */ |
135
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
68 INI_Section *ic_current; /* current working section */ |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
69 char *ic_line; /* line buffer */ |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
70 int ic_lineno; /* number of current line */ |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
71 int ic_linesize; /* initial line size */ |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
72 int ic_ignore; /* must ignore (no redefine) */ |
96
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
73 }; |
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
74 |
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
75 struct ini_option { |
135
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
76 char *key; /* (rw) option name */ |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
77 char *value; /* (rw) option value */ |
142
e3cf5ac9a5aa
[p]array_insert now returns -1 or index of added element
David Demelier <markand@malikania.fr>
parents:
135
diff
changeset
|
78 |
e3cf5ac9a5aa
[p]array_insert now returns -1 or index of added element
David Demelier <markand@malikania.fr>
parents:
135
diff
changeset
|
79 LIST_ENTRY(ini_option) link; /* (rw) link entry */ |
96
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
80 }; |
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
81 |
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
82 struct ini_section { |
135
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
83 char *key; /* (rw) section key */ |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
84 INI_Option *options; /* (ro) linked-list of options */ |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
85 INI_Section *next; /* (ro) linked-list of sections */ |
96
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
86 }; |
79
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
87 |
82
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
88 struct ini_handler { |
135
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
89 char *key; /* (rw) option to check */ |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
90 void *dst; /* (rw) where to store */ |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
91 INI_ConvertFunc handler; /* (rw) conversion function */ |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
92 void *userdata; /* (rw) optional user data */ |
82
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
93 }; |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
94 |
79
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
95 /* -------------------------------------------------------- |
105
eac1f370910a
English review (thanks afranke@)
David Demelier <markand@malikania.fr>
parents:
102
diff
changeset
|
96 * Main functions |
79
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
97 * -------------------------------------------------------- */ |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
98 |
96
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
99 INI_Config * |
79
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
100 ini_load(const char *, int); |
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
101 |
96
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
102 INI_Section * |
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
103 ini_select_section(const INI_Config *, const char *); |
79
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
104 |
96
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
105 INI_Option * |
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
106 ini_select_option(const INI_Section *, const char *); |
79
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
107 |
100
85ddc81848bd
Add a little helper in ini.c to find an option
David Demelier <markand@malikania.fr>
parents:
97
diff
changeset
|
108 INI_Option * |
85ddc81848bd
Add a little helper in ini.c to find an option
David Demelier <markand@malikania.fr>
parents:
97
diff
changeset
|
109 ini_find(const INI_Config *, const char *, const char *); |
85ddc81848bd
Add a little helper in ini.c to find an option
David Demelier <markand@malikania.fr>
parents:
97
diff
changeset
|
110 |
102
735d6c774f7a
Reorder protos in ini.h
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
111 char * |
735d6c774f7a
Reorder protos in ini.h
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
112 ini_get_error(void); |
735d6c774f7a
Reorder protos in ini.h
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
113 |
96
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
114 void |
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
115 ini_free(INI_Config *, int, int); |
79
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
116 |
82
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
117 /* -------------------------------------------------------- |
105
eac1f370910a
English review (thanks afranke@)
David Demelier <markand@malikania.fr>
parents:
102
diff
changeset
|
118 * Convenient api to query and convert data |
82
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
119 * -------------------------------------------------------- */ |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
120 |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
121 /* |
105
eac1f370910a
English review (thanks afranke@)
David Demelier <markand@malikania.fr>
parents:
102
diff
changeset
|
122 * For the config, read all available values and store them in |
82
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
123 * the array ini_handler. |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
124 */ |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
125 |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
126 void |
96
dcaf2c61c902
Big change in ini, much cleaner and simpler
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
127 ini_dispatch(INI_Section *, INI_Handler *, int); |
82
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
128 |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
129 /* |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
130 * Convert to bool. dst must be (char *). |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
131 * It converts "yes" "true" "1" or opposites. Only lower |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
132 * case is supported right now. |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
133 */ |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
134 |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
135 void |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
136 ini_convert_bool(void *, const char *, void *); |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
137 |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
138 /* |
105
eac1f370910a
English review (thanks afranke@)
David Demelier <markand@malikania.fr>
parents:
102
diff
changeset
|
139 * Convert to an int. dst must be (int *). |
82
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
140 */ |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
141 |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
142 void |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
143 ini_convert_int(void *, const char *, void *); |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
144 |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
145 /* |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
146 * Convert to a short. dst must be (short *). |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
147 */ |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
148 |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
149 void |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
150 ini_convert_short(void *, const char *, void *); |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
151 |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
152 /* |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
153 * Convert to a char *. dst must be (char **). This |
105
eac1f370910a
English review (thanks afranke@)
David Demelier <markand@malikania.fr>
parents:
102
diff
changeset
|
154 * function uses strdup(). You need to free the dst |
82
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
155 * pointer. |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
156 */ |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
157 |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
158 void |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
159 ini_convert_string(void *, const char *, void *); |
c8bbdbedcf07
Added a little convenient API for ini
David Demelier <markand@malikania.fr>
parents:
81
diff
changeset
|
160 |
135
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
161 #ifdef __cplusplus |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
162 } |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
163 #endif |
07800b7af208
Huge cosmetic, no breakage
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
164 |
79
fd817a7dbf2f
Switched a lot of things in ini
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
165 #endif /* _INI_H_ */ |