X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=rset%2Frstemp.c;h=a992199ca070b262650cee34876449838dabceee;hb=c0765995c15b95d23d183c43fda4516ad47b1f53;hp=709dd99f8e052810ee606b1b0ba499329a9c9669;hpb=0f78f3fe78e859d9f0d3f0d3e13fcd28085dd427;p=idzebra-moved-to-github.git diff --git a/rset/rstemp.c b/rset/rstemp.c index 709dd99..a992199 100644 --- a/rset/rstemp.c +++ b/rset/rstemp.c @@ -1,4 +1,4 @@ -/* $Id: rstemp.c,v 1.69 2006-11-14 08:12:09 adam Exp $ +/* $Id: rstemp.c,v 1.70 2006-12-22 19:47:36 adam Exp $ Copyright (C) 1995-2006 Index Data ApS @@ -168,13 +168,18 @@ static void r_flush(RSFD rfd, int mk) { #if HAVE_MKSTEMP char template[1024]; + + *template = '\0'; + if (info->temp_path) - sprintf(template, "%s/zrsXXXXXX", info->temp_path); - else - sprintf(template, "zrsXXXXXX"); + sprintf(template, "%s/", info->temp_path); + strcat(template, "zrs_"); +#if HAVE_UNISTD_H + sprintf(template + strlen(template), "%ld_", (long) getpid()); +#endif + strcat(template, "XXXXXX"); info->fd = mkstemp(template); - if (info->fd == -1) { yaz_log(YLOG_FATAL|YLOG_ERRNO, "rstemp: mkstemp %s", template);