| 104 size_t len = prop->text_size - prop->text_pos; |
103 size_t len = prop->text_size - prop->text_pos; |
| 105 |
104 |
| 106 return cx_properties_rescuen_input(prop, len); |
105 return cx_properties_rescuen_input(prop, len); |
| 107 } |
106 } |
| 108 |
107 |
| 109 void cxPropertiesInput( |
108 int cxPropertiesFilln( |
| 110 CxProperties *prop, |
109 CxProperties *prop, |
| 111 const char *buf, |
110 const char *buf, |
| 112 size_t len |
111 size_t len |
| 113 ) { |
112 ) { |
| |
113 if (cx_properties_rescue_input(prop)) return 1; |
| 114 prop->text = buf; |
114 prop->text = buf; |
| 115 prop->text_size = len; |
115 prop->text_size = len; |
| 116 prop->text_pos = 0; |
116 prop->text_pos = 0; |
| 117 } |
|
| 118 |
|
| 119 int cxPropertiesFill( |
|
| 120 CxProperties *prop, |
|
| 121 const char *buf, |
|
| 122 size_t len |
|
| 123 ) { |
|
| 124 if (cx_properties_rescue_input(prop)) return 1; |
|
| 125 cxPropertiesInput(prop, buf, len); |
|
| 126 return 0; |
117 return 0; |
| 127 } |
118 } |
| 128 |
119 |
| 129 void cxPropertiesUseStack( |
120 void cxPropertiesUseStack( |
| 130 CxProperties *prop, |
121 CxProperties *prop, |
| 427 status = found ? CX_PROPERTIES_NO_ERROR : CX_PROPERTIES_NO_DATA; |
418 status = found ? CX_PROPERTIES_NO_ERROR : CX_PROPERTIES_NO_DATA; |
| 428 break; |
419 break; |
| 429 } |
420 } |
| 430 |
421 |
| 431 // set the input buffer and read the k/v-pairs |
422 // set the input buffer and read the k/v-pairs |
| 432 cxPropertiesInput(prop, input.ptr, input.length); |
423 prop->text = input.ptr; |
| |
424 prop->text_size = input.length; |
| |
425 prop->text_pos = 0; |
| 433 |
426 |
| 434 CxPropertiesStatus kv_status; |
427 CxPropertiesStatus kv_status; |
| 435 do { |
428 do { |
| 436 cxstring key, value; |
429 cxstring key, value; |
| 437 kv_status = cxPropertiesNext(prop, &key, &value); |
430 kv_status = cxPropertiesNext(prop, &key, &value); |