- len = xmlSaveFormatFileEnc(fdesc->name, doc, NULL, 0);
+ fd = openat(workdirfd, fdesc->name, O_WRONLY|O_CREAT|O_TRUNC, 0644);
+ if (fd < 0) {
+ syslog(LOG_ERR, "cant open %s for write", fdesc->name);
+ goto error2;
+ }
+ ctx = xmlSaveToFd(fd, NULL, XML_SAVE_FORMAT);
+ if (!ctx) {
+ syslog(LOG_ERR, "xmlSaveToFd failed for %s", fdesc->name);
+ goto error3;
+ }
+ len = xmlSaveDoc(ctx, doc);