Use the helpers Type{From,To}String instead.
---
src/conf/storage_conf.c | 17 ++++++++++-------
src/conf/storage_conf.h | 3 +++
2 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c
index a876332..bc8ca33 100644
--- a/src/conf/storage_conf.c
+++ b/src/conf/storage_conf.c
@@ -94,6 +94,10 @@ VIR_ENUM_IMPL(virStoragePoolSourceAdapterType,
VIR_STORAGE_POOL_SOURCE_ADAPTER_TYPE_LAST,
"default", "scsi_host", "fc_host")
+VIR_ENUM_IMPL(virStoragePoolAuthType,
+ VIR_STORAGE_POOL_AUTH_LAST,
+ "none", "chap", "ceph")
+
typedef const char *(*virStorageVolFormatToString)(int format);
typedef int (*virStorageVolFormatFromString)(const char *format);
@@ -709,11 +713,8 @@ virStoragePoolDefParseSource(xmlXPathContextPtr ctxt,
if (authType == NULL) {
source->authType = VIR_STORAGE_POOL_AUTH_NONE;
} else {
- if (STREQ(authType, "chap")) {
- source->authType = VIR_STORAGE_POOL_AUTH_CHAP;
- } else if (STREQ(authType, "ceph")) {
- source->authType = VIR_STORAGE_POOL_AUTH_CEPHX;
- } else {
+ if ((source->authType =
+ virStoragePoolAuthTypeTypeFromString(authType)) < 0) {
virReportError(VIR_ERR_XML_ERROR,
_("unknown auth type '%s'"),
authType);
@@ -1162,7 +1163,8 @@ virStoragePoolSourceFormat(virBufferPtr buf,
}
if (src->authType == VIR_STORAGE_POOL_AUTH_CHAP) {
- virBufferAsprintf(buf," <auth type='chap'
username='%s'",
+ virBufferAsprintf(buf," <auth type='%s'
username='%s'",
+ virStoragePoolAuthTypeTypeToString(src->authType),
src->auth.chap.login);
if (src->auth.chap.type == VIR_STORAGE_POOL_AUTH_CHAP_PLAIN_PASSWORD) {
virBufferAsprintf(buf, " passwd='%s'/>\n",
@@ -1175,7 +1177,8 @@ virStoragePoolSourceFormat(virBufferPtr buf,
}
if (src->authType == VIR_STORAGE_POOL_AUTH_CEPHX) {
- virBufferAsprintf(buf," <auth type='ceph'
username='%s'\n",
+ virBufferAsprintf(buf," <auth type='%s'
username='%s'\n",
+ virStoragePoolAuthTypeTypeToString(src->authType),
src->auth.cephx.username);
virStoragePoolAuthDefFormat(buf, src->auth.cephx.secret);
virBufferAddLit(buf," </auth>\n");
diff --git a/src/conf/storage_conf.h b/src/conf/storage_conf.h
index b52cdc4..06cd5c0 100644
--- a/src/conf/storage_conf.h
+++ b/src/conf/storage_conf.h
@@ -143,7 +143,10 @@ enum virStoragePoolAuthType {
VIR_STORAGE_POOL_AUTH_NONE,
VIR_STORAGE_POOL_AUTH_CHAP,
VIR_STORAGE_POOL_AUTH_CEPHX,
+
+ VIR_STORAGE_POOL_AUTH_LAST,
};
+VIR_ENUM_DECL(virStoragePoolAuthType)
typedef struct _virStoragePoolAuthSecret virStoragePoolAuthSecret;
typedef virStoragePoolAuthSecret *virStoragePoolAuthSecretPtr;
--
1.8.1.4