]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
util: virtypedparam: Use proper enum type for all switch() statements
authorPeter Krempa <pkrempa@redhat.com>
Tue, 18 Apr 2023 12:43:34 +0000 (14:43 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 2 May 2023 12:32:46 +0000 (14:32 +0200)
Ensure that all switch statements in this module use the proper type in
switch() statements to ensure complier protections.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
src/util/virtypedparam.c

index 0cca16053d57dd4f38d66d2f25f1d18482ec652d..974ec51a79279f8b489aa26c9cc8c5682ad058a6 100644 (file)
@@ -170,7 +170,7 @@ virTypedParameterToString(virTypedParameterPtr param)
 {
     char *value = NULL;
 
-    switch (param->type) {
+    switch ((virTypedParameterType) param->type) {
     case VIR_TYPED_PARAM_INT:
         value = g_strdup_printf("%d", param->value.i);
         break;
@@ -192,6 +192,7 @@ virTypedParameterToString(virTypedParameterPtr param)
     case VIR_TYPED_PARAM_STRING:
         value = g_strdup(param->value.s);
         break;
+    case VIR_TYPED_PARAM_LAST:
     default:
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("unexpected type %1$d for field %2$s"),
@@ -204,7 +205,7 @@ virTypedParameterToString(virTypedParameterPtr param)
 
 static int
 virTypedParameterAssignValueVArgs(virTypedParameterPtr param,
-                                  int type,
+                                  virTypedParameterType type,
                                   va_list ap,
                                   bool copystr)
 {
@@ -238,6 +239,7 @@ virTypedParameterAssignValueVArgs(virTypedParameterPtr param,
         if (!param->value.s)
             param->value.s = g_strdup("");
         break;
+    case VIR_TYPED_PARAM_LAST:
     default:
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("unexpected type %1$d for field %2$s"), type,
@@ -559,7 +561,7 @@ virTypedParamsDeserialize(struct _virTypedParameterRemote *remote_params,
         }
 
         param->type = remote_param->value.type;
-        switch (param->type) {
+        switch ((virTypedParameterType) param->type) {
         case VIR_TYPED_PARAM_INT:
             param->value.i =
                 remote_param->value.remote_typed_param_value.i;
@@ -587,6 +589,7 @@ virTypedParamsDeserialize(struct _virTypedParameterRemote *remote_params,
         case VIR_TYPED_PARAM_STRING:
             param->value.s = g_strdup(remote_param->value.remote_typed_param_value.s);
             break;
+        case VIR_TYPED_PARAM_LAST:
         default:
             virReportError(VIR_ERR_RPC, _("unknown parameter type: %1$d"),
                            param->type);
@@ -670,7 +673,7 @@ virTypedParamsSerialize(virTypedParameterPtr params,
          * depending on the calling side, i.e. server or client */
         val->field = g_strdup(param->field);
         val->value.type = param->type;
-        switch (param->type) {
+        switch ((virTypedParameterType) param->type) {
         case VIR_TYPED_PARAM_INT:
             val->value.remote_typed_param_value.i = param->value.i;
             break;
@@ -692,6 +695,7 @@ virTypedParamsSerialize(virTypedParameterPtr params,
         case VIR_TYPED_PARAM_STRING:
             val->value.remote_typed_param_value.s = g_strdup(param->value.s);
             break;
+        case VIR_TYPED_PARAM_LAST:
         default:
             virReportError(VIR_ERR_RPC, _("unknown parameter type: %1$d"),
                            param->type);