… | |
… | |
218 | add (' '); |
218 | add (' '); |
219 | add (v); |
219 | add (v); |
220 | add ('\n'); |
220 | add ('\n'); |
221 | } |
221 | } |
222 | |
222 | |
223 | void put (keyword kbeg, keyword kend, const char *v) |
223 | void put (keyword kbeg, keyword kend, const shstr &v) |
224 | { |
224 | { |
225 | add (keyword_str [kbeg], keyword_len [kbeg]); add ('\n'); |
225 | add (keyword_str [kbeg], keyword_len [kbeg]); add ('\n'); |
226 | |
226 | |
227 | if (v) |
227 | if (v) |
228 | { |
228 | { |
… | |
… | |
246 | void put (keyword k, unsigned long long v) { put_(k, (sint64)v); } |
246 | void put (keyword k, unsigned long long v) { put_(k, (sint64)v); } |
247 | |
247 | |
248 | template<typename T> |
248 | template<typename T> |
249 | void put (keyword k, T *v) |
249 | void put (keyword k, T *v) |
250 | { |
250 | { |
|
|
251 | if (v) |
|
|
252 | put (k, v->name); |
|
|
253 | else |
251 | put (k, v ? (const char *)v->name : 0); |
254 | put (k, (const char *)0); |
252 | } |
255 | } |
253 | |
256 | |
254 | bool save (const char *filename); |
257 | bool save (const char *filename); |
255 | |
258 | |
256 | operator bool () { return !!av; } |
259 | operator bool () { return !!av; } |