root/maint/gnulib/lib/mkstemps.c

/* [previous][next][first][last][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. mkstemps

   1 /* Copyright (C) 1998-1999, 2001, 2005-2007, 2009-2021 Free Software
   2    Foundation, Inc.
   3    This file is derived from the one in the GNU C Library.
   4 
   5    This file is free software: you can redistribute it and/or modify
   6    it under the terms of the GNU Lesser General Public License as
   7    published by the Free Software Foundation; either version 2.1 of the
   8    License, or (at your option) any later version.
   9 
  10    This file is distributed in the hope that it will be useful,
  11    but WITHOUT ANY WARRANTY; without even the implied warranty of
  12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13    GNU Lesser General Public License for more details.
  14 
  15    You should have received a copy of the GNU Lesser General Public License
  16    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
  17 
  18 #if !_LIBC
  19 # include <config.h>
  20 #endif
  21 
  22 #include <stdlib.h>
  23 
  24 #if !_LIBC
  25 # include <errno.h>
  26 # include "tempname.h"
  27 # define __gen_tempname gen_tempname
  28 # ifndef __GT_FILE
  29 #  define __GT_FILE GT_FILE
  30 # endif
  31 # define __set_errno(x) errno = x;
  32 #endif
  33 
  34 #include <stdio.h>
  35 
  36 #ifndef __GT_FILE
  37 # define __GT_FILE 0
  38 #endif
  39 
  40 /* Generate a unique temporary file name from XTEMPLATE.  The last six
  41    characters before a suffix of length SUFFIXLEN of XTEMPLATE must be
  42    "XXXXXX"; they are replaced with a string that makes the filename
  43    unique.  Then open the file and return a fd. */
  44 int
  45 mkstemps (char *xtemplate, int suffixlen)
     /* [previous][next][first][last][top][bottom][index][help] */
  46 {
  47   if (suffixlen < 0)
  48     {
  49       __set_errno (EINVAL);
  50       return -1;
  51     }
  52 
  53   return __gen_tempname (xtemplate, suffixlen, 0, __GT_FILE);
  54 }

/* [previous][next][first][last][top][bottom][index][help] */