221 res->skipped = TRUE; |
221 res->skipped = TRUE; |
222 } else if(xstreq(name, "tags-updated")) { |
222 } else if(xstreq(name, "tags-updated")) { |
223 res->tags_updated = TRUE; |
223 res->tags_updated = TRUE; |
224 } else if(xstreq(name, "parts")) { |
224 } else if(xstreq(name, "parts")) { |
225 process_parts(reader, res); |
225 process_parts(reader, res); |
|
226 } else if(xstreq(name, "isdirectory")) { |
|
227 res->isdirectory = 1; |
226 } |
228 } |
227 } else if(type == XML_READER_TYPE_TEXT) { |
229 } else if(type == XML_READER_TYPE_TEXT) { |
228 const xmlChar *value = xmlTextReaderConstValue(reader); |
230 const xmlChar *value = xmlTextReaderConstValue(reader); |
229 //int b = 0; |
231 //int b = 0; |
230 switch(field) { |
232 switch(field) { |
417 fprintf(stderr, "Cannot write path: %s\n", res->path); |
419 fprintf(stderr, "Cannot write path: %s\n", res->path); |
418 xmlFreeTextWriter(writer); |
420 xmlFreeTextWriter(writer); |
419 return -1; |
421 return -1; |
420 } |
422 } |
421 |
423 |
|
424 if(res->isdirectory) { |
|
425 r = xmlTextWriterStartElement(writer, BAD_CAST "isdirectory"); |
|
426 r += xmlTextWriterEndElement(writer); |
|
427 if(r < 0) { |
|
428 fprintf(stderr, "Cannot write isdirectory\n"); |
|
429 xmlFreeTextWriter(writer); |
|
430 return -1; |
|
431 } |
|
432 } |
|
433 |
422 if(res->etag) { |
434 if(res->etag) { |
423 r = xmlTextWriterWriteElement( |
435 r = xmlTextWriterWriteElement( |
424 writer, |
436 writer, |
425 BAD_CAST "etag", |
437 BAD_CAST "etag", |
426 BAD_CAST res->etag); |
438 BAD_CAST res->etag); |