95 parser->buflen = parser->tmplen; |
95 parser->buflen = parser->tmplen; |
96 parser->pos = 0; |
96 parser->pos = 0; |
97 parser->tmp = NULL; |
97 parser->tmp = NULL; |
98 parser->tmpcap = 0; |
98 parser->tmpcap = 0; |
99 parser->tmplen = 0; |
99 parser->tmplen = 0; |
100 // run parse with the tmp buffer as main buffer |
100 // run ucx_properties_next with the tmp buffer as main buffer |
101 int ret = ucx_properties_next(parser, name, value); |
101 int ret = ucx_properties_next(parser, name, value); |
102 |
102 |
103 // restore original buffer |
103 // restore original buffer |
104 parser->tmp = parser->buffer; |
104 parser->tmp = parser->buffer; |
105 parser->buffer = orig_buf; |
105 parser->buffer = orig_buf; |
242 return error; |
242 return error; |
243 } |
243 } |
244 |
244 |
245 int ucx_properties_store(UcxMap *map, FILE *file) { |
245 int ucx_properties_store(UcxMap *map, FILE *file) { |
246 UcxMapIterator iter = ucx_map_iterator(map); |
246 UcxMapIterator iter = ucx_map_iterator(map); |
247 char *k, *v; |
247 char *v; |
248 sstr_t key, value; |
248 sstr_t key, value; |
249 size_t written; |
249 size_t written; |
250 |
250 |
251 UCX_MAP_FOREACH(v, iter) { |
251 UCX_MAP_FOREACH(k, v, iter) { |
252 k = (char*) iter.cur->key.data; |
252 //k = (char*) iter.cur->key.data; |
253 key = sstrn(k, iter.cur->key.len); |
253 key = sstrn(k.data, k.len); |
254 value = sstr(v); |
254 value = sstr(v); |
255 |
255 |
256 written = 0; |
256 written = 0; |
257 written += fwrite(key.ptr, 1, key.length, file); |
257 written += fwrite(key.ptr, 1, key.length, file); |
258 written += fwrite(" = ", 1, 3, file); |
258 written += fwrite(" = ", 1, 3, file); |