Restructured cipher_set_padding_mode() to use switch statement

This commit is contained in:
Paul Bakker 2013-08-14 12:04:26 +02:00
parent ebdc413f44
commit 1a45d91cf2
2 changed files with 19 additions and 21 deletions

View File

@ -417,8 +417,10 @@ int cipher_setkey( cipher_context_t *ctx, const unsigned char *key, int key_leng
* \param ctx generic cipher context * \param ctx generic cipher context
* \param mode padding mode * \param mode padding mode
* *
* \returns 0 on success, POLARSSL_ERR_CIPHER_BAD_INPUT_DATA * \returns 0 on success, POLARSSL_ERR_CIPHER_FEATURE_UNAVAILABLE
* if parameters verification fails. * 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 ); int cipher_set_padding_mode( cipher_context_t *ctx, cipher_padding_t mode );

View File

@ -747,42 +747,38 @@ int cipher_set_padding_mode( cipher_context_t *ctx, cipher_padding_t mode )
return POLARSSL_ERR_CIPHER_BAD_INPUT_DATA; 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->add_padding = add_pkcs_padding;
ctx->get_padding = get_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->add_padding = add_one_and_zeros_padding;
ctx->get_padding = get_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->add_padding = add_zeros_and_len_padding;
ctx->get_padding = get_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->add_padding = add_zeros_padding;
ctx->get_padding = get_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->add_padding = NULL;
ctx->get_padding = get_no_padding; 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) #if defined(POLARSSL_SELF_TEST)