On 10/7/22 01:19, Bin Meng wrote:
From: Bin Meng <bin.m...@windriver.com>

This case was written to use hardcoded /tmp directory for temporary
files. Update to use g_dir_make_tmp() for a portable implementation.

Signed-off-by: Bin Meng <bin.m...@windriver.com>
Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com>
---

Changes in v5:
- Use g_autoptr(GError)

Changes in v4:
- Update the error reporting by using the GError "error" argument
   of g_dir_make_tmp()
- Remove the const from tmpfs declaration

Changes in v3:
- Split to a separate patch

This patch breaks with gcc 12:


@@ -2479,9 +2479,10 @@ int main(int argc, char **argv)
          return g_test_run();
      }
- tmpfs = g_mkdtemp(template);
+    tmpfs = g_dir_make_tmp("migration-test-XXXXXX", &err);
      if (!tmpfs) {
-        g_test_message("g_mkdtemp on path (%s): %s", template, 
strerror(errno));
+        g_test_message("g_dir_make_tmp on path (%s): %s", tmpfs,
+                       err->message);
      }
      g_assert(tmpfs);

../src/tests/qtest/migration-test.c: In function ‘main’:
../src/tests/qtest/migration-test.c:2484:49: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
 2484 |         g_test_message("g_dir_make_tmp on path (%s): %s", tmpfs,
      |                                                 ^~

The compiler correctly notices that tmpfs was tested and found to be null, but tried to print it anyway.


r~

Reply via email to