On 2024/07/16 19:43, Paolo Bonzini wrote:
On Tue, Jul 16, 2024 at 11:56 AM Daniel P. Berrangé <berra...@redhat.com> wrote:

On Tue, Jul 16, 2024 at 11:06:57AM +0300, Michael Tokarev wrote:
16.07.2024 10:27, Akihiko Odaki wrote:
qemu_get_runtime_dir() returns a dynamically allocated directory path
that is appropriate for storing runtime files. It corresponds to "run"
directory in Unix.

Since runtime dir is always used with a filename within, how about

   char *qemu_get_runtime_path(const char *filename)

which return RUNTIME_DIR/filename instead of just RUNTIME_DIR ?

Yeah, I agree, every single caller of the function goes on to call
g_build_filename with the result. The helper should just be building
the filename itself.

That would mean using variable arguments and g_build_filename_valist().

We can't prepend an element to va_list. The best thing I came up with is a macro as follows:

#define get_runtime_path(first_element, ...) ({ \
  g_autofree char *_s = qemu_get_runtime_dir(); \
  g_build_filename(_s, first_element, ...); \
})

But it makes me wonder if we need such a macro.

Regards,
Akihiko Odaki

Reply via email to