We will soon need the virLocaleRaw variable. Move it and
functions around it at the beginning of the file, so that
later code doesn't need to introduce forward declarations.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/util/virstring.c | 157 ++++++++++++++++++++++---------------------
1 file changed, 79 insertions(+), 78 deletions(-)
diff --git a/src/util/virstring.c b/src/util/virstring.c
index 6b728ff047..1a13570d30 100644
--- a/src/util/virstring.c
+++ b/src/util/virstring.c
@@ -35,6 +35,85 @@
VIR_LOG_INIT("util.string");
+/* In case thread-safe locales are available */
+#if WITH_NEWLOCALE
+
+typedef locale_t virLocale;
+static virLocale virLocaleRaw;
+
+static int
+virLocaleOnceInit(void)
+{
+ virLocaleRaw = newlocale(LC_ALL_MASK, "C", (locale_t)0);
+ if (!virLocaleRaw)
+ return -1;
+ return 0;
+}
+
+VIR_ONCE_GLOBAL_INIT(virLocale);
+
+/**
+ * virLocaleSetRaw:
+ *
+ * @oldlocale: set to old locale pointer
+ *
+ * Sets the locale to 'C' to allow operating on non-localized objects.
+ * Returns 0 on success -1 on error.
+ */
+static int
+virLocaleSetRaw(virLocale *oldlocale)
+{
+ if (virLocaleInitialize() < 0)
+ return -1;
+ *oldlocale = uselocale(virLocaleRaw);
+ return 0;
+}
+
+static void
+virLocaleRevert(virLocale *oldlocale)
+{
+ uselocale(*oldlocale);
+}
+
+static void
+virLocaleFixupRadix(char **strp G_GNUC_UNUSED)
+{
+}
+
+#else /* !WITH_NEWLOCALE */
+
+typedef int virLocale;
+
+static int
+virLocaleSetRaw(virLocale *oldlocale G_GNUC_UNUSED)
+{
+ return 0;
+}
+
+static void
+virLocaleRevert(virLocale *oldlocale G_GNUC_UNUSED)
+{
+}
+
+static void
+virLocaleFixupRadix(char **strp)
+{
+ char *radix, *tmp;
+ struct lconv *lc;
+
+ lc = localeconv();
+ radix = lc->decimal_point;
+ tmp = strstr(*strp, radix);
+ if (tmp) {
+ *tmp = '.';
+ if (strlen(radix) > 1)
+ memmove(tmp + 1, tmp + strlen(radix), strlen(*strp) - (tmp - *strp));
+ }
+}
+
+#endif /* !WITH_NEWLOCALE */
+
+
/* Like strtol with C locale, but produce an "int" result, and check more
carefully.
Return 0 upon success; return -1 to indicate failure.
When END_PTR is NULL, the byte after the final valid digit must be NUL.
@@ -233,84 +312,6 @@ virStrToLong_ullp(char const *s, char **end_ptr, int base,
return 0;
}
-/* In case thread-safe locales are available */
-#if WITH_NEWLOCALE
-
-typedef locale_t virLocale;
-static virLocale virLocaleRaw;
-
-static int
-virLocaleOnceInit(void)
-{
- virLocaleRaw = newlocale(LC_ALL_MASK, "C", (locale_t)0);
- if (!virLocaleRaw)
- return -1;
- return 0;
-}
-
-VIR_ONCE_GLOBAL_INIT(virLocale);
-
-/**
- * virLocaleSetRaw:
- *
- * @oldlocale: set to old locale pointer
- *
- * Sets the locale to 'C' to allow operating on non-localized objects.
- * Returns 0 on success -1 on error.
- */
-static int
-virLocaleSetRaw(virLocale *oldlocale)
-{
- if (virLocaleInitialize() < 0)
- return -1;
- *oldlocale = uselocale(virLocaleRaw);
- return 0;
-}
-
-static void
-virLocaleRevert(virLocale *oldlocale)
-{
- uselocale(*oldlocale);
-}
-
-static void
-virLocaleFixupRadix(char **strp G_GNUC_UNUSED)
-{
-}
-
-#else /* !WITH_NEWLOCALE */
-
-typedef int virLocale;
-
-static int
-virLocaleSetRaw(virLocale *oldlocale G_GNUC_UNUSED)
-{
- return 0;
-}
-
-static void
-virLocaleRevert(virLocale *oldlocale G_GNUC_UNUSED)
-{
-}
-
-static void
-virLocaleFixupRadix(char **strp)
-{
- char *radix, *tmp;
- struct lconv *lc;
-
- lc = localeconv();
- radix = lc->decimal_point;
- tmp = strstr(*strp, radix);
- if (tmp) {
- *tmp = '.';
- if (strlen(radix) > 1)
- memmove(tmp + 1, tmp + strlen(radix), strlen(*strp) - (tmp - *strp));
- }
-}
-
-#endif /* !WITH_NEWLOCALE */
-
/**
* virStrToDouble
--
2.39.3