On Windows there is no path like /tmp/s_local_disk.XXXXXX
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
---
tests/test-replication.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/tests/test-replication.c b/tests/test-replication.c
index 9ab3666a90..3cf544a133 100644
--- a/tests/test-replication.c
+++ b/tests/test-replication.c
@@ -23,14 +23,14 @@
/* primary */
#define P_ID "primary-id"
-static char p_local_disk[] = "/tmp/p_local_disk.XXXXXX";
+static char p_local_disk[PATH_MAX];
/* secondary */
#define S_ID "secondary-id"
#define S_LOCAL_DISK_ID "secondary-local-disk-id"
-static char s_local_disk[] = "/tmp/s_local_disk.XXXXXX";
-static char s_active_disk[] = "/tmp/s_active_disk.XXXXXX";
-static char s_hidden_disk[] = "/tmp/s_hidden_disk.XXXXXX";
+static char s_local_disk[PATH_MAX];
+static char s_active_disk[PATH_MAX];
+static char s_hidden_disk[PATH_MAX];
/* FIXME: steal from blockdev.c */
QemuOptsList qemu_drive_opts = {
@@ -571,6 +571,11 @@ static void setup_sigabrt_handler(void)
int main(int argc, char **argv)
{
int ret;
+ const char *tmpdir = g_get_tmp_dir();
+ sprintf(p_local_disk, "%s/p_local_disk.XXXXXX", tmpdir);
+ sprintf(s_local_disk, "%s/s_local_disk.XXXXXX", tmpdir);
+ sprintf(s_active_disk, "%s/s_active_disk.XXXXXX", tmpdir);
+ sprintf(s_hidden_disk, "%s/s_hidden_disk.XXXXXX", tmpdir);
qemu_init_main_loop(&error_fatal);
bdrv_init();
--
2.28.0.windows.1
Am 05.09.20 um 23:10 schrieb Yonggang Luo:
> On Windows there is no path like /tmp/s_local_disk.XXXXXX
>
> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> ---
> tests/test-replication.c | 13 +++++++++----
> 1 file changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/tests/test-replication.c b/tests/test-replication.c
> index 9ab3666a90..3cf544a133 100644
> --- a/tests/test-replication.c
> +++ b/tests/test-replication.c
> @@ -23,14 +23,14 @@
>
> /* primary */
> #define P_ID "primary-id"
> -static char p_local_disk[] = "/tmp/p_local_disk.XXXXXX";
> +static char p_local_disk[PATH_MAX];
>
> /* secondary */
> #define S_ID "secondary-id"
> #define S_LOCAL_DISK_ID "secondary-local-disk-id"
> -static char s_local_disk[] = "/tmp/s_local_disk.XXXXXX";
> -static char s_active_disk[] = "/tmp/s_active_disk.XXXXXX";
> -static char s_hidden_disk[] = "/tmp/s_hidden_disk.XXXXXX";
> +static char s_local_disk[PATH_MAX];
> +static char s_active_disk[PATH_MAX];
> +static char s_hidden_disk[PATH_MAX];
>
> /* FIXME: steal from blockdev.c */
> QemuOptsList qemu_drive_opts = {
> @@ -571,6 +571,11 @@ static void setup_sigabrt_handler(void)
> int main(int argc, char **argv)
> {
> int ret;
> + const char *tmpdir = g_get_tmp_dir();
> + sprintf(p_local_disk, "%s/p_local_disk.XXXXXX", tmpdir);
> + sprintf(s_local_disk, "%s/s_local_disk.XXXXXX", tmpdir);
> + sprintf(s_active_disk, "%s/s_active_disk.XXXXXX", tmpdir);
> + sprintf(s_hidden_disk, "%s/s_hidden_disk.XXXXXX", tmpdir);
> qemu_init_main_loop(&error_fatal);
> bdrv_init();
>
Maybe it is possible to use get_tmp_filename() (which could be
simplified by using g_get_tmp_dir).
And please use snprintf instead of sprintf. I am afraid that a path can
be longer than PATH_MAX, even if the tmpdir path is normally rather short.
You could also allocate the different filenames dynamically instead of
limiting them to PATH_MAX characters.
Regards
Stefan Weil
On Sun, Sep 6, 2020 at 5:49 AM Stefan Weil <sw@weilnetz.de> wrote:
> Am 05.09.20 um 23:10 schrieb Yonggang Luo:
>
> > On Windows there is no path like /tmp/s_local_disk.XXXXXX
> >
> > Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> > ---
> > tests/test-replication.c | 13 +++++++++----
> > 1 file changed, 9 insertions(+), 4 deletions(-)
> >
> > diff --git a/tests/test-replication.c b/tests/test-replication.c
> > index 9ab3666a90..3cf544a133 100644
> > --- a/tests/test-replication.c
> > +++ b/tests/test-replication.c
> > @@ -23,14 +23,14 @@
> >
> > /* primary */
> > #define P_ID "primary-id"
> > -static char p_local_disk[] = "/tmp/p_local_disk.XXXXXX";
> > +static char p_local_disk[PATH_MAX];
> >
> > /* secondary */
> > #define S_ID "secondary-id"
> > #define S_LOCAL_DISK_ID "secondary-local-disk-id"
> > -static char s_local_disk[] = "/tmp/s_local_disk.XXXXXX";
> > -static char s_active_disk[] = "/tmp/s_active_disk.XXXXXX";
> > -static char s_hidden_disk[] = "/tmp/s_hidden_disk.XXXXXX";
> > +static char s_local_disk[PATH_MAX];
> > +static char s_active_disk[PATH_MAX];
> > +static char s_hidden_disk[PATH_MAX];
> >
> > /* FIXME: steal from blockdev.c */
> > QemuOptsList qemu_drive_opts = {
> > @@ -571,6 +571,11 @@ static void setup_sigabrt_handler(void)
> > int main(int argc, char **argv)
> > {
> > int ret;
> > + const char *tmpdir = g_get_tmp_dir();
> > + sprintf(p_local_disk, "%s/p_local_disk.XXXXXX", tmpdir);
> > + sprintf(s_local_disk, "%s/s_local_disk.XXXXXX", tmpdir);
> > + sprintf(s_active_disk, "%s/s_active_disk.XXXXXX", tmpdir);
> > + sprintf(s_hidden_disk, "%s/s_hidden_disk.XXXXXX", tmpdir);
> > qemu_init_main_loop(&error_fatal);
> > bdrv_init();
> >
>
>
> Maybe it is possible to use get_tmp_filename() (which could be
> simplified by using g_get_tmp_dir).
>
What does get_tmp_filename mean? I didn't understand
>
> And please use snprintf instead of sprintf. I am afraid that a path can
> be longer than PATH_MAX, even if the tmpdir path is normally rather short.
>
OK, I'll use snprintf
>
> You could also allocate the different filenames dynamically instead of
> limiting them to PATH_MAX characters.
>
as a test, it's too complicated,
>
> Regards
>
> Stefan Weil
>
>
>
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
On Sun, Sep 06, 2020 at 08:13:19PM +0800, 罗勇刚(Yonggang Luo) wrote:
> On Sun, Sep 6, 2020 at 5:49 AM Stefan Weil <sw@weilnetz.de> wrote:
>
> > Am 05.09.20 um 23:10 schrieb Yonggang Luo:
> >
> > > On Windows there is no path like /tmp/s_local_disk.XXXXXX
> > >
> > > Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> > > ---
> > > tests/test-replication.c | 13 +++++++++----
> > > 1 file changed, 9 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/tests/test-replication.c b/tests/test-replication.c
> > > index 9ab3666a90..3cf544a133 100644
> > > --- a/tests/test-replication.c
> > > +++ b/tests/test-replication.c
> > > @@ -23,14 +23,14 @@
> > >
> > > /* primary */
> > > #define P_ID "primary-id"
> > > -static char p_local_disk[] = "/tmp/p_local_disk.XXXXXX";
> > > +static char p_local_disk[PATH_MAX];
> > >
> > > /* secondary */
> > > #define S_ID "secondary-id"
> > > #define S_LOCAL_DISK_ID "secondary-local-disk-id"
> > > -static char s_local_disk[] = "/tmp/s_local_disk.XXXXXX";
> > > -static char s_active_disk[] = "/tmp/s_active_disk.XXXXXX";
> > > -static char s_hidden_disk[] = "/tmp/s_hidden_disk.XXXXXX";
> > > +static char s_local_disk[PATH_MAX];
> > > +static char s_active_disk[PATH_MAX];
> > > +static char s_hidden_disk[PATH_MAX];
> > >
> > > /* FIXME: steal from blockdev.c */
> > > QemuOptsList qemu_drive_opts = {
> > > @@ -571,6 +571,11 @@ static void setup_sigabrt_handler(void)
> > > int main(int argc, char **argv)
> > > {
> > > int ret;
> > > + const char *tmpdir = g_get_tmp_dir();
> > > + sprintf(p_local_disk, "%s/p_local_disk.XXXXXX", tmpdir);
> > > + sprintf(s_local_disk, "%s/s_local_disk.XXXXXX", tmpdir);
> > > + sprintf(s_active_disk, "%s/s_active_disk.XXXXXX", tmpdir);
> > > + sprintf(s_hidden_disk, "%s/s_hidden_disk.XXXXXX", tmpdir);
> > > qemu_init_main_loop(&error_fatal);
> > > bdrv_init();
> > >
> >
> >
> > Maybe it is possible to use get_tmp_filename() (which could be
> > simplified by using g_get_tmp_dir).
> >
> What does get_tmp_filename mean? I didn't understand
>
> >
> > And please use snprintf instead of sprintf. I am afraid that a path can
> > be longer than PATH_MAX, even if the tmpdir path is normally rather short.
> >
> OK, I'll use snprintf
>
> >
> > You could also allocate the different filenames dynamically instead of
> > limiting them to PATH_MAX characters.
> >
> as a test, it's too complicated,
I really isn't hard to replace sprintf() with g_strdup_printf() and
then g_free() at the end of the test.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
© 2016 - 2025 Red Hat, Inc.