Hi
On Tue, Sep 20, 2022 at 2:17 PM Bin Meng <bmeng.cn@gmail.com> wrote:
> From: Bin Meng <bin.meng@windriver.com>
>
> At present get_tmp_filename() has platform specific implementations
> to get the directory to use for temporary files. Switch over to use
> g_get_tmp_dir() which works on all supported platforms.
>
>
As discussed in v1, there are other things to do while touching this code.
And since it is optional for the series goal, please send this as a
different patch/series.
> Signed-off-by: Bin Meng <bin.meng@windriver.com>
> ---
>
> (no changes since v1)
>
> block.c | 16 ++--------------
> 1 file changed, 2 insertions(+), 14 deletions(-)
>
> diff --git a/block.c b/block.c
> index bc85f46eed..d06df47f72 100644
> --- a/block.c
> +++ b/block.c
> @@ -864,21 +864,10 @@ int bdrv_probe_geometry(BlockDriverState *bs,
> HDGeometry *geo)
> */
> int get_tmp_filename(char *filename, int size)
> {
> -#ifdef _WIN32
> - char temp_dir[MAX_PATH];
> - /* GetTempFileName requires that its output buffer (4th param)
> - have length MAX_PATH or greater. */
> - assert(size >= MAX_PATH);
> - return (GetTempPath(MAX_PATH, temp_dir)
> - && GetTempFileName(temp_dir, "qem", 0, filename)
> - ? 0 : -GetLastError());
> -#else
> int fd;
> const char *tmpdir;
> - tmpdir = getenv("TMPDIR");
> - if (!tmpdir) {
> - tmpdir = "/var/tmp";
> - }
> + tmpdir = g_get_tmp_dir();
> +
> if (snprintf(filename, size, "%s/vl.XXXXXX", tmpdir) >= size) {
> return -EOVERFLOW;
> }
> @@ -891,7 +880,6 @@ int get_tmp_filename(char *filename, int size)
> return -errno;
> }
> return 0;
> -#endif
> }
>
> /*
> --
> 2.34.1
>
>
>
--
Marc-André Lureau