+
+ if (b->sptr->contentConnector.length())
+ {
+ int fd;
+
+ char *fname = (char *) xmalloc(m_p->content_tmp_file.length() + 8);
+ strcpy(fname, m_p->content_tmp_file.c_str());
+ strcat(fname, "XXXXXX");
+ fd = mkstemp(fname);
+
+ if (fd == -1)
+ {
+ yaz_log(YLOG_WARN|YLOG_ERRNO, "create %s", fname);
+ *error = YAZ_BIB1_TEMPORARY_SYSTEM_ERROR;
+ *addinfo = (char *) odr_malloc(odr, 40 + strlen(fname));
+ sprintf(*addinfo, "Could not create %s", fname);
+
+ xfree(fname);
+ BackendPtr backend_null;
+ return backend_null;
+ }
+ b->content_session_id.assign(fname + (strlen(fname) - 6));
+ char buf[1024];
+ sprintf(buf, "#content_proxy\n");
+ write(fd, buf, strlen(buf));
+ close(fd);
+ yaz_log(YLOG_LOG, "file %s created\n", fname);
+ xfree(fname);
+ }
+