From 4ab2120f3bc1ab9de535a6ea9990900def4f9030 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Mon, 27 Jan 2020 12:52:23 +0000 Subject: [PATCH] src: remove virFilePrintf in favour of g_fprintf MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The virFilePrintf function was a wrapper for fprintf() to provide Windows portability, since gnulib's fprintf() replacement was license restricted. This is no longer needed now we have the g_fprintf function available. Reviewed-by: Pavel Hrdina Signed-off-by: Daniel P. Berrangé --- src/libvirt_private.syms | 1 - src/util/virfile.c | 31 ----------------------------- src/util/virfile.h | 3 --- tests/commandhelper.c | 3 +-- tests/fdstreamtest.c | 42 ++++++++++++++++++++-------------------- tests/qemusecuritytest.c | 2 +- tests/shunloadtest.c | 2 +- tests/ssh.c | 3 +-- tests/testutils.h | 6 ------ tests/testutilsqemu.c | 4 ++-- tests/virstringtest.c | 34 ++++++++++++++++---------------- 11 files changed, 44 insertions(+), 87 deletions(-) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 5c81bb2c3f..ddf1fae71f 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -2022,7 +2022,6 @@ virFileMoveMount; virFileNBDDeviceAssociate; virFileOpenAs; virFileOpenTty; -virFilePrintf; virFileReadAll; virFileReadAllQuiet; virFileReadBufQuiet; diff --git a/src/util/virfile.c b/src/util/virfile.c index 1da4d17b2d..4c9e8fa979 100644 --- a/src/util/virfile.c +++ b/src/util/virfile.c @@ -3331,37 +3331,6 @@ virFileRemoveLastComponent(char *path) path[0] = '\0'; } -/** - * virFilePrintf: - * - * A replacement for fprintf() which uses g_strdup_vprintf - * to ensure that portable string format placeholders can - * be used, since gnulib's fprintf() replacement is not - * LGPLV2+ compatible - */ -int virFilePrintf(FILE *fp, const char *msg, ...) -{ - va_list vargs; - g_autofree char *str = NULL; - int ret = -1; - - va_start(vargs, msg); - - str = g_strdup_vprintf(msg, vargs); - ret = strlen(str); - - if (fwrite(str, 1, ret, fp) != ret) { - virReportSystemError(errno, "%s", - _("Could not write to stream")); - ret = -1; - } - - va_end(vargs); - - return ret; -} - - #ifdef __linux__ # ifndef NFS_SUPER_MAGIC diff --git a/src/util/virfile.h b/src/util/virfile.h index c805d87b3f..0a520a7522 100644 --- a/src/util/virfile.h +++ b/src/util/virfile.h @@ -293,9 +293,6 @@ char *virFileFindMountPoint(const char *type); virBuildPathInternal(path, __VA_ARGS__, NULL) int virBuildPathInternal(char **path, ...) G_GNUC_NULL_TERMINATED; -int virFilePrintf(FILE *fp, const char *msg, ...) - G_GNUC_PRINTF(2, 3); - typedef struct _virHugeTLBFS virHugeTLBFS; typedef virHugeTLBFS *virHugeTLBFSPtr; struct _virHugeTLBFS { diff --git a/tests/commandhelper.c b/tests/commandhelper.c index b9677f2caa..3f040be8f2 100644 --- a/tests/commandhelper.c +++ b/tests/commandhelper.c @@ -24,8 +24,7 @@ #include #include -#include "internal.h" -#define NO_LIBVIRT +#define VIR_NO_GLIB_STDIO /* This file intentionally does not link to libvirt/glib */ #include "testutils.h" #ifndef WIN32 diff --git a/tests/fdstreamtest.c b/tests/fdstreamtest.c index 03f5520fa6..7c784a49f1 100644 --- a/tests/fdstreamtest.c +++ b/tests/fdstreamtest.c @@ -103,16 +103,16 @@ static int testFDStreamReadCommon(const char *scratchdir, bool blocking) g_usleep(20 * 1000); goto reread; } - virFilePrintf(stderr, "Failed to read stream: %s\n", - virGetLastErrorMessage()); + fprintf(stderr, "Failed to read stream: %s\n", + virGetLastErrorMessage()); goto cleanup; } if (got == 0) { /* Expect EOF 1/2 through last pattern */ if (i == 9 && want == (PATTERN_LEN / 2)) break; - virFilePrintf(stderr, "Unexpected EOF block %zu want %zu\n", - i, want); + fprintf(stderr, "Unexpected EOF block %zu want %zu\n", + i, want); goto cleanup; } offset += got; @@ -120,25 +120,25 @@ static int testFDStreamReadCommon(const char *scratchdir, bool blocking) } if (i == 0) { if (memcmp(buf, pattern + (PATTERN_LEN / 2), PATTERN_LEN / 2) != 0) { - virFilePrintf(stderr, "Mismatched pattern data iteration %zu\n", i); + fprintf(stderr, "Mismatched pattern data iteration %zu\n", i); goto cleanup; } } else if (i == 9) { if (memcmp(buf, pattern, PATTERN_LEN / 2) != 0) { - virFilePrintf(stderr, "Mismatched pattern data iteration %zu\n", i); + fprintf(stderr, "Mismatched pattern data iteration %zu\n", i); goto cleanup; } } else { if (memcmp(buf, pattern, PATTERN_LEN) != 0) { - virFilePrintf(stderr, "Mismatched pattern data iteration %zu\n", i); + fprintf(stderr, "Mismatched pattern data iteration %zu\n", i); goto cleanup; } } } if (st->driver->streamFinish(st) != 0) { - virFilePrintf(stderr, "Failed to finish stream: %s\n", - virGetLastErrorMessage()); + fprintf(stderr, "Failed to finish stream: %s\n", + virGetLastErrorMessage()); goto cleanup; } @@ -226,8 +226,8 @@ static int testFDStreamWriteCommon(const char *scratchdir, bool blocking) if (i == 9 && want == (PATTERN_LEN / 2)) break; - virFilePrintf(stderr, "Failed to write stream: %s\n", - virGetLastErrorMessage()); + fprintf(stderr, "Failed to write stream: %s\n", + virGetLastErrorMessage()); goto cleanup; } offset += got; @@ -236,8 +236,8 @@ static int testFDStreamWriteCommon(const char *scratchdir, bool blocking) } if (st->driver->streamFinish(st) != 0) { - virFilePrintf(stderr, "Failed to finish stream: %s\n", - virGetLastErrorMessage()); + fprintf(stderr, "Failed to finish stream: %s\n", + virGetLastErrorMessage()); goto cleanup; } @@ -252,9 +252,9 @@ static int testFDStreamWriteCommon(const char *scratchdir, bool blocking) want = PATTERN_LEN; if ((got = saferead(fd, buf, want)) != want) { - virFilePrintf(stderr, - "Short read from data, i=%zu got=%zu want=%zu\n", - i, got, want); + fprintf(stderr, + "Short read from data, i=%zu got=%zu want=%zu\n", + i, got, want); goto cleanup; } @@ -262,22 +262,22 @@ static int testFDStreamWriteCommon(const char *scratchdir, bool blocking) size_t j; for (j = 0; j < (PATTERN_LEN / 2); j++) { if (buf[j] != 0) { - virFilePrintf(stderr, "Mismatched pattern data iteration %zu\n", i); + fprintf(stderr, "Mismatched pattern data iteration %zu\n", i); goto cleanup; } } if (memcmp(buf + (PATTERN_LEN / 2), pattern, PATTERN_LEN / 2) != 0) { - virFilePrintf(stderr, "Mismatched pattern data iteration %zu\n", i); + fprintf(stderr, "Mismatched pattern data iteration %zu\n", i); goto cleanup; } } else if (i == 9) { if (memcmp(buf, pattern, PATTERN_LEN / 2) != 0) { - virFilePrintf(stderr, "Mismatched pattern data iteration %zu\n", i); + fprintf(stderr, "Mismatched pattern data iteration %zu\n", i); goto cleanup; } } else { if (memcmp(buf, pattern, PATTERN_LEN) != 0) { - virFilePrintf(stderr, "Mismatched pattern data iteration %zu\n", i); + fprintf(stderr, "Mismatched pattern data iteration %zu\n", i); goto cleanup; } } @@ -320,7 +320,7 @@ mymain(void) int ret = 0; if (!g_mkdtemp(scratchdir)) { - virFilePrintf(stderr, "Cannot create fdstreamdir"); + fprintf(stderr, "Cannot create fdstreamdir"); abort(); } diff --git a/tests/qemusecuritytest.c b/tests/qemusecuritytest.c index 4b5bfabeba..a1ef9d8802 100644 --- a/tests/qemusecuritytest.c +++ b/tests/qemusecuritytest.c @@ -146,7 +146,7 @@ mymain(void) VIR_SECURITY_MANAGER_PRIVILEGED | VIR_SECURITY_MANAGER_DYNAMIC_OWNERSHIP, NULL))) { - virFilePrintf(stderr, "Cannot initialize DAC security driver"); + fprintf(stderr, "Cannot initialize DAC security driver"); ret = -1; goto cleanup; } diff --git a/tests/shunloadtest.c b/tests/shunloadtest.c index 65c627ed17..b377c07294 100644 --- a/tests/shunloadtest.c +++ b/tests/shunloadtest.c @@ -40,7 +40,7 @@ #include -#define NO_LIBVIRT /* This file intentionally does not link to libvirt */ +#define VIR_NO_GLIB_STDIO /* This file intentionally does not link to libvirt/glib */ #include "testutils.h" #ifdef linux diff --git a/tests/ssh.c b/tests/ssh.c index 58148fef77..415dfbdb25 100644 --- a/tests/ssh.c +++ b/tests/ssh.c @@ -18,8 +18,7 @@ #include -#include "internal.h" -#define NO_LIBVIRT /* This file intentionally does not link to libvirt */ +#define VIR_NO_GLIB_STDIO /* This file intentionally does not link to libvirt/glib */ #include "testutils.h" #ifndef WIN32 diff --git a/tests/testutils.h b/tests/testutils.h index ad62dfb647..c1b365ab0d 100644 --- a/tests/testutils.h +++ b/tests/testutils.h @@ -30,12 +30,6 @@ #define EXIT_AM_SKIP 77 /* tell Automake we're skipping a test */ #define EXIT_AM_HARDFAIL 99 /* tell Automake that the framework is broken */ -/* Work around lack of gnulib support for fprintf %z */ -#ifndef NO_LIBVIRT -# undef fprintf -# define fprintf virFilePrintf -#endif - /* Makefile.am provides these two definitions */ #if !defined(abs_srcdir) || !defined(abs_builddir) # error Fix Makefile.am diff --git a/tests/testutilsqemu.c b/tests/testutilsqemu.c index c25aa1f705..c17e284930 100644 --- a/tests/testutilsqemu.c +++ b/tests/testutilsqemu.c @@ -405,14 +405,14 @@ int qemuTestDriverInit(virQEMUDriver *driver) driver->config->channelTargetDir = g_strdup("/tmp/channel"); if (!g_mkdtemp(statedir)) { - virFilePrintf(stderr, "Cannot create fake stateDir"); + fprintf(stderr, "Cannot create fake stateDir"); goto error; } driver->config->stateDir = g_strdup(statedir); if (!g_mkdtemp(configdir)) { - virFilePrintf(stderr, "Cannot create fake configDir"); + fprintf(stderr, "Cannot create fake configDir"); goto error; } diff --git a/tests/virstringtest.c b/tests/virstringtest.c index 88f50185e5..c87e1b9bec 100644 --- a/tests/virstringtest.c +++ b/tests/virstringtest.c @@ -58,16 +58,16 @@ static int testStreq(const void *args) strneq_rv = STRNEQ_NULLABLE(data->a, data->b); if (streq_rv != equal) { - virFilePrintf(stderr, - "STREQ not working correctly. Expected %d got %d", - (int) equal, (int) streq_rv); + fprintf(stderr, + "STREQ not working correctly. Expected %d got %d", + (int) equal, (int) streq_rv); return -1; } if (strneq_rv == equal) { - virFilePrintf(stderr, - "STRNEQ not working correctly. Expected %d got %d", - (int) equal, (int) strneq_rv); + fprintf(stderr, + "STRNEQ not working correctly. Expected %d got %d", + (int) equal, (int) strneq_rv); return -1; } @@ -108,7 +108,7 @@ static int testSplit(const void *args) tmp2 = data->tokens; while (*tmp1 && *tmp2) { if (STRNEQ(*tmp1, *tmp2)) { - virFilePrintf(stderr, "Mismatch '%s' vs '%s'\n", *tmp1, *tmp2); + fprintf(stderr, "Mismatch '%s' vs '%s'\n", *tmp1, *tmp2); goto cleanup; } tmp1++; @@ -116,19 +116,19 @@ static int testSplit(const void *args) exptokens++; } if (*tmp1) { - virFilePrintf(stderr, "Too many pieces returned\n"); + fprintf(stderr, "Too many pieces returned\n"); goto cleanup; } if (*tmp2) { - virFilePrintf(stderr, "Too few pieces returned\n"); + fprintf(stderr, "Too few pieces returned\n"); goto cleanup; } if (ntokens != exptokens) { - virFilePrintf(stderr, - "Returned token count (%zu) doesn't match " - "expected count (%zu)", - ntokens, exptokens); + fprintf(stderr, + "Returned token count (%zu) doesn't match " + "expected count (%zu)", + ntokens, exptokens); goto cleanup; } @@ -151,7 +151,7 @@ static int testJoin(const void *args) return -1; } if (STRNEQ(got, data->string)) { - virFilePrintf(stderr, "Mismatch '%s' vs '%s'\n", got, data->string); + fprintf(stderr, "Mismatch '%s' vs '%s'\n", got, data->string); goto cleanup; } @@ -186,7 +186,7 @@ static int testAdd(const void *args) } if (STRNEQ(got, data->string)) { - virFilePrintf(stderr, "Mismatch '%s' vs '%s'\n", got, data->string); + fprintf(stderr, "Mismatch '%s' vs '%s'\n", got, data->string); goto cleanup; } @@ -215,13 +215,13 @@ static int testRemove(const void *args) for (i = 0; data->tokens[i]; i++) { virStringListRemove(&list, data->tokens[i]); if (virStringListHasString((const char **) list, data->tokens[i])) { - virFilePrintf(stderr, "Not removed %s", data->tokens[i]); + fprintf(stderr, "Not removed %s", data->tokens[i]); goto cleanup; } } if (list && list[0]) { - virFilePrintf(stderr, "Not removed all tokens: %s", list[0]); + fprintf(stderr, "Not removed all tokens: %s", list[0]); goto cleanup; } -- GitLab