It's the only place where it's used.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/libvirt_xenconfig.syms | 1 -
src/xenconfig/xen_common.c | 62 ++++++++++++++++++++++++++++++++++++++
src/xenconfig/xen_sxpr.c | 62 --------------------------------------
src/xenconfig/xen_sxpr.h | 2 --
4 files changed, 62 insertions(+), 65 deletions(-)
diff --git a/src/libvirt_xenconfig.syms b/src/libvirt_xenconfig.syms
index 77701c14d9..603f1ce420 100644
--- a/src/libvirt_xenconfig.syms
+++ b/src/libvirt_xenconfig.syms
@@ -6,7 +6,6 @@
xenGetDomIdFromSxpr;
xenGetDomIdFromSxprString;
xenParseSxprChar;
-xenParseSxprVifRate;
# xenconfig/xen_xm.h
xenFormatXM;
diff --git a/src/xenconfig/xen_common.c b/src/xenconfig/xen_common.c
index a8905ad049..8eaa64a4e9 100644
--- a/src/xenconfig/xen_common.c
+++ b/src/xenconfig/xen_common.c
@@ -24,6 +24,8 @@
#include <config.h>
+#include <regex.h>
+
#include "internal.h"
#include "virerror.h"
#include "virconf.h"
@@ -926,6 +928,66 @@ xenParseVifBridge(virDomainNetDefPtr net, char *bridge)
}
+static const char *vif_bytes_per_sec_re = "^[0-9]+[GMK]?[Bb]/s$";
+
+static int
+xenParseSxprVifRate(const char *rate, unsigned long long *kbytes_per_sec)
+{
+ char *trate = NULL;
+ char *p;
+ regex_t rec;
+ int err;
+ char *suffix;
+ unsigned long long tmp;
+ int ret = -1;
+
+ if (VIR_STRDUP(trate, rate) < 0)
+ return -1;
+
+ p = strchr(trate, '@');
+ if (p != NULL)
+ *p = 0;
+
+ err = regcomp(&rec, vif_bytes_per_sec_re, REG_EXTENDED|REG_NOSUB);
+ if (err != 0) {
+ char error[100];
+ regerror(err, &rec, error, sizeof(error));
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Failed to compile regular expression '%s':
%s"),
+ vif_bytes_per_sec_re, error);
+ goto cleanup;
+ }
+
+ if (regexec(&rec, trate, 0, NULL, 0)) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Invalid rate '%s' specified"), rate);
+ goto cleanup;
+ }
+
+ if (virStrToLong_ull(rate, &suffix, 10, &tmp)) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Failed to parse rate '%s'"), rate);
+ goto cleanup;
+ }
+
+ if (*suffix == 'G')
+ tmp *= 1024 * 1024;
+ else if (*suffix == 'M')
+ tmp *= 1024;
+
+ if (*suffix == 'b' || *(suffix + 1) == 'b')
+ tmp /= 8;
+
+ *kbytes_per_sec = tmp;
+ ret = 0;
+
+ cleanup:
+ regfree(&rec);
+ VIR_FREE(trate);
+ return ret;
+}
+
+
static virDomainNetDefPtr
xenParseVif(char *entry, const char *vif_typename)
{
diff --git a/src/xenconfig/xen_sxpr.c b/src/xenconfig/xen_sxpr.c
index 8876350b8f..953909e7b4 100644
--- a/src/xenconfig/xen_sxpr.c
+++ b/src/xenconfig/xen_sxpr.c
@@ -22,8 +22,6 @@
#include <config.h>
-#include <regex.h>
-
#include "internal.h"
#include "virerror.h"
#include "virconf.h"
@@ -210,63 +208,3 @@ xenParseSxprChar(const char *value,
virDomainChrDefFree(def);
return NULL;
}
-
-
-static const char *vif_bytes_per_sec_re = "^[0-9]+[GMK]?[Bb]/s$";
-
-int
-xenParseSxprVifRate(const char *rate, unsigned long long *kbytes_per_sec)
-{
- char *trate = NULL;
- char *p;
- regex_t rec;
- int err;
- char *suffix;
- unsigned long long tmp;
- int ret = -1;
-
- if (VIR_STRDUP(trate, rate) < 0)
- return -1;
-
- p = strchr(trate, '@');
- if (p != NULL)
- *p = 0;
-
- err = regcomp(&rec, vif_bytes_per_sec_re, REG_EXTENDED|REG_NOSUB);
- if (err != 0) {
- char error[100];
- regerror(err, &rec, error, sizeof(error));
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("Failed to compile regular expression '%s':
%s"),
- vif_bytes_per_sec_re, error);
- goto cleanup;
- }
-
- if (regexec(&rec, trate, 0, NULL, 0)) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("Invalid rate '%s' specified"), rate);
- goto cleanup;
- }
-
- if (virStrToLong_ull(rate, &suffix, 10, &tmp)) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("Failed to parse rate '%s'"), rate);
- goto cleanup;
- }
-
- if (*suffix == 'G')
- tmp *= 1024 * 1024;
- else if (*suffix == 'M')
- tmp *= 1024;
-
- if (*suffix == 'b' || *(suffix + 1) == 'b')
- tmp /= 8;
-
- *kbytes_per_sec = tmp;
- ret = 0;
-
- cleanup:
- regfree(&rec);
- VIR_FREE(trate);
- return ret;
-}
diff --git a/src/xenconfig/xen_sxpr.h b/src/xenconfig/xen_sxpr.h
index 54dfcbb53d..f7112bc6ee 100644
--- a/src/xenconfig/xen_sxpr.h
+++ b/src/xenconfig/xen_sxpr.h
@@ -32,5 +32,3 @@ int xenGetDomIdFromSxprString(const char *sexpr, int *id);
int xenGetDomIdFromSxpr(const struct sexpr *root, int *id);
virDomainChrDefPtr xenParseSxprChar(const char *value, const char *tty);
-
-int xenParseSxprVifRate(const char *rate, unsigned long long *kbytes_per_sec);
--
2.21.0