[PATCH v2 5/9] linux: Set internal DIR filepos as off64_t [BZ #23960, BZ #24050]

Florian Weimer fweimer@redhat.com
Tue Oct 13 16:00:58 GMT 2020


* Adhemerval Zanella via Libc-alpha:

> diff --git a/support/temp_file.c b/support/temp_file.c
> index 277c5e0cf1..98bd235526 100644
> --- a/support/temp_file.c
> +++ b/support/temp_file.c
> @@ -60,14 +60,12 @@ add_temp_file (const char *name)
>  }
>  
>  int
> -create_temp_file (const char *base, char **filename)
> +create_temp_file_in_dir (const char *base, const char *dir, char **filename)
>  {
>    char *fname;
>    int fd;
>  
> -  fname = (char *) xmalloc (strlen (test_dir) + 1 + strlen (base)
> -			    + sizeof ("XXXXXX"));
> -  strcpy (stpcpy (stpcpy (stpcpy (fname, test_dir), "/"), base), "XXXXXX");
> +  fname = xasprintf ("%s/%sXXXXXX", dir, base);
>  
>    fd = mkstemp (fname);
>    if (fd == -1)
> @@ -86,6 +84,12 @@ create_temp_file (const char *base, char **filename)
>    return fd;
>  }
>  
> +int
> +create_temp_file (const char *base, char **filename)
> +{
> +  return create_temp_file_in_dir (base, test_dir, filename);
> +}
> +
>  char *
>  support_create_temp_directory (const char *base)
>  {
> diff --git a/support/temp_file.h b/support/temp_file.h
> index 8b6303a6e4..ac61105428 100644
> --- a/support/temp_file.h
> +++ b/support/temp_file.h
> @@ -32,6 +32,13 @@ void add_temp_file (const char *name);
>     *FILENAME.  */
>  int create_temp_file (const char *base, char **filename);
>  
> +/* Create a temporary file in directory DIR.  Return the opened file
> +   descriptor on success, or -1 on failure.  Write the file name to
> +   *FILENAME if FILENAME is not NULL.  In this case, the caller is
> +   expected to free *FILENAME.  */
> +int create_temp_file_in_dir (const char *base, const char *dir,
> +			     char **filename);
> +
>  /* Create a temporary directory and schedule it for deletion.  BASE is
>     used as a prefix for the unique directory name, which the function
>     returns.  The caller should free this string.  */

This part is okay.  Please commit it separately in case other tests grow
a dependency on it (to help with their backporting).

Thanks,
Florian
-- 
Red Hat GmbH, https://de.redhat.com/ , Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Brian Klemm, Laurie Krebs, Michael O'Neill



More information about the Libc-alpha mailing list