Move this to a separate compilation unit and don't inline it.
---
daemon/Makefile.am | 1 +
daemon/daemon.h | 24 +-----------------------
daemon/format.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
po/POTFILES | 1 +
4 files changed, 52 insertions(+), 23 deletions(-)
create mode 100644 daemon/format.c
diff --git a/daemon/Makefile.am b/daemon/Makefile.am
index 1a23cda..8055235 100644
--- a/daemon/Makefile.am
+++ b/daemon/Makefile.am
@@ -118,6 +118,7 @@ guestfsd_SOURCES = \
findfs.c \
fill.c \
find.c \
+ format.c \
fs-min-size.c \
fsck.c \
fstrim.c \
diff --git a/daemon/daemon.h b/daemon/daemon.h
index 820e9cb..7fbb2a2 100644
--- a/daemon/daemon.h
+++ b/daemon/daemon.h
@@ -154,29 +154,7 @@ extern int random_name (char *template);
extern char *get_random_uuid (void);
-/* This just stops gcc from giving a warning about our custom printf
- * formatters %Q and %R. See guestfs-hacking(1) for more
- * info about these. In GCC 4.8.0 the warning is even harder to
- * 'trick', hence the need for the #pragma directives.
- */
-#if defined(__GNUC__) && GUESTFS_GCC_VERSION >= 40800 /* gcc >= 4.8.0 */
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wsuggest-attribute=format"
-#endif
-static inline int
-asprintf_nowarn (char **strp, const char *fmt, ...)
-{
- int r;
- va_list args;
-
- va_start (args, fmt);
- r = vasprintf (strp, fmt, args);
- va_end (args);
- return r;
-}
-#if defined(__GNUC__) && GUESTFS_GCC_VERSION >= 40800 /* gcc >= 4.8.0 */
-#pragma GCC diagnostic pop
-#endif
+extern int asprintf_nowarn (char **strp, const char *fmt, ...);
/* Use by the CLEANUP_* macros. */
extern void cleanup_free (void *ptr);
diff --git a/daemon/format.c b/daemon/format.c
new file mode 100644
index 0000000..2ccc24b
--- /dev/null
+++ b/daemon/format.c
@@ -0,0 +1,49 @@
+/* libguestfs - the guestfsd daemon
+ * Copyright (C) 2010-2015 Red Hat Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "daemon.h"
+
+/* This just stops gcc from giving a warning about our custom printf
+ * formatters %Q and %R. See guestfs-hacking(1) for more
+ * info about these. In GCC 4.8.0 the warning is even harder to
+ * 'trick', hence the need for the #pragma directives.
+ */
+#if defined(__GNUC__) && GUESTFS_GCC_VERSION >= 40800 /* gcc >= 4.8.0 */
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wsuggest-attribute=format"
+#endif
+int
+asprintf_nowarn (char **strp, const char *fmt, ...)
+{
+ int r;
+ va_list args;
+
+ va_start (args, fmt);
+ r = vasprintf (strp, fmt, args);
+ va_end (args);
+ return r;
+}
+#if defined(__GNUC__) && GUESTFS_GCC_VERSION >= 40800 /* gcc >= 4.8.0 */
+#pragma GCC diagnostic pop
+#endif
diff --git a/po/POTFILES b/po/POTFILES
index d87d668..09a8425 100644
--- a/po/POTFILES
+++ b/po/POTFILES
@@ -49,6 +49,7 @@ daemon/file.c
daemon/fill.c
daemon/find.c
daemon/findfs.c
+daemon/format.c
daemon/fs-min-size.c
daemon/fsck.c
daemon/fstrim.c
--
2.5.0