253 writer_puts(out, S(" </D:response>\n")); |
253 writer_puts(out, S(" </D:response>\n")); |
254 |
254 |
255 return out->error; |
255 return out->error; |
256 } |
256 } |
257 |
257 |
258 int multistatus_send(Multistatus *ms, SYS_NETFD net) { |
258 int multistatus_send(Multistatus *ms, SYS_NETFD net) { |
|
259 // make sure every resource is closed |
|
260 if(ms->current && !ms->current->resource.isclosed) { |
|
261 msresponse_close((WebdavResource*)ms->current); |
|
262 } |
|
263 |
259 // start http response |
264 // start http response |
260 protocol_status(ms->sn, ms->rq, 207, NULL); |
265 protocol_status(ms->sn, ms->rq, 207, NULL); |
261 protocol_start_response(ms->sn, ms->rq); |
266 protocol_start_response(ms->sn, ms->rq); |
262 |
267 |
263 char buffer[MULTISTATUS_BUFFER_LENGTH]; |
268 char buffer[MULTISTATUS_BUFFER_LENGTH]; |