Restructured cipher_set_padding_mode() to use switch statement
diff --git a/include/polarssl/cipher.h b/include/polarssl/cipher.h
index 7ee17ab..13d714b 100644
--- a/include/polarssl/cipher.h
+++ b/include/polarssl/cipher.h
@@ -417,8 +417,10 @@
  * \param ctx           generic cipher context
  * \param mode          padding mode
  *
- * \returns             0 on success, POLARSSL_ERR_CIPHER_BAD_INPUT_DATA
- *                      if parameters verification fails.
+ * \returns             0 on success, POLARSSL_ERR_CIPHER_FEATURE_UNAVAILABLE
+ *                      if selected padding mode is not supported, or
+ *                      POLARSSL_ERR_CIPHER_BAD_INPUT_DATA if the cipher mode
+ *                      does not support padding.
  */
 int cipher_set_padding_mode( cipher_context_t *ctx, cipher_padding_t mode );
 
diff --git a/library/cipher.c b/library/cipher.c
index 70eef69..f023364 100644
--- a/library/cipher.c
+++ b/library/cipher.c
@@ -747,42 +747,38 @@
         return POLARSSL_ERR_CIPHER_BAD_INPUT_DATA;
     }
 
-    if( POLARSSL_PADDING_PKCS7 == mode )
+    switch( mode )
     {
+    case POLARSSL_PADDING_PKCS7:
         ctx->add_padding = add_pkcs_padding;
         ctx->get_padding = get_pkcs_padding;
-        return 0;
-    }
+        break;
 
-    if( POLARSSL_PADDING_ONE_AND_ZEROS == mode )
-    {
+    case POLARSSL_PADDING_ONE_AND_ZEROS:
         ctx->add_padding = add_one_and_zeros_padding;
         ctx->get_padding = get_one_and_zeros_padding;
-        return 0;
-    }
+        break;
 
-    if( POLARSSL_PADDING_ZEROS_AND_LEN == mode )
-    {
+    case POLARSSL_PADDING_ZEROS_AND_LEN:
         ctx->add_padding = add_zeros_and_len_padding;
         ctx->get_padding = get_zeros_and_len_padding;
-        return 0;
-    }
+        break;
 
-    if( POLARSSL_PADDING_ZEROS == mode )
-    {
+    case POLARSSL_PADDING_ZEROS:
         ctx->add_padding = add_zeros_padding;
         ctx->get_padding = get_zeros_padding;
-        return 0;
-    }
+        break;
 
-    if( POLARSSL_PADDING_NONE == mode )
-    {
+    case POLARSSL_PADDING_NONE:
         ctx->add_padding = NULL;
         ctx->get_padding = get_no_padding;
-        return 0;
+        break;
+
+    default:
+        return POLARSSL_ERR_CIPHER_BAD_INPUT_DATA;
     }
 
-    return POLARSSL_ERR_CIPHER_BAD_INPUT_DATA;
+    return 0;
 }
 
 #if defined(POLARSSL_SELF_TEST)