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.
It "works" quite differently though. Is this patch really necessary here?
If yes, please explain why.
If not, I suggest you drop optional / rfc / "nice to have" patches from the series. It will help to get it merged faster.
thanks
Signed-off-by: Bin Meng <bin.meng@windriver.com>
---
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