Allow enabling of dummy error_strerror() to support some use-cases

Enable a dummy error function to make use of error_strerror() in
third party libraries easier.

Disable if you run into name conflicts and want to really remove the
error_strerror()
This commit is contained in:
Paul Bakker 2013-02-02 12:43:08 +01:00
parent 14c56a3378
commit 8fe40dcd7d
4 changed files with 35 additions and 2 deletions

View File

@ -1,5 +1,9 @@
PolarSSL ChangeLog PolarSSL ChangeLog
= Development
Changes
* Allow enabling of dummy error_strerror() to support some use-cases
= Version 1.2.4 released 2013-01-25 = Version 1.2.4 released 2013-01-25
Changes Changes
* Added ssl_handshake_step() to allow single stepping the handshake process * Added ssl_handshake_step() to allow single stepping the handshake process

View File

@ -160,6 +160,17 @@
#define POLARSSL_ENABLE_WEAK_CIPHERSUITES #define POLARSSL_ENABLE_WEAK_CIPHERSUITES
*/ */
/**
* \def POLARSSL_ERROR_STRERROR_DUMMY
*
* Enable a dummy error function to make use of error_strerror() in
* third party libraries easier.
*
* Disable if you run into name conflicts and want to really remove the
* error_strerror()
*/
#define POLARSSL_ERROR_STRERROR_DUMMY
/** /**
* \def POLARSSL_GENPRIME * \def POLARSSL_GENPRIME
* *

View File

@ -553,4 +553,22 @@ void error_strerror( int ret, char *buf, size_t buflen )
snprintf( buf, buflen, "UNKNOWN ERROR CODE (%04X)", use_ret ); snprintf( buf, buflen, "UNKNOWN ERROR CODE (%04X)", use_ret );
} }
#else /* POLARSSL_ERROR_C */
#if defined(POLARSSL_ERROR_STRERROR_DUMMY)
#include <string.h>
/*
* Provide an non-function in case POLARSSL_ERROR_C is not defined
*/
void error_strerror( int ret, char *buf, size_t buflen )
{
((void) ret);
if( buflen > 0 )
buf[0] = '\0';
}
#endif /* POLARSSL_ERROR_STRERROR_DUMMY */
#endif /* POLARSSL_ERROR_C */ #endif /* POLARSSL_ERROR_C */

View File

@ -38,13 +38,13 @@
#define USAGE \ #define USAGE \
"\n usage: strerror <errorcode>\n" "\n usage: strerror <errorcode>\n"
#if !defined(POLARSSL_ERROR_C) #if !defined(POLARSSL_ERROR_C) && !defined(POLARSSL_ERROR_STRERROR_DUMMY)
int main( int argc, char *argv[] ) int main( int argc, char *argv[] )
{ {
((void) argc); ((void) argc);
((void) argv); ((void) argv);
printf("POLARSSL_ERROR_C not defined.\n"); printf("POLARSSL_ERROR_C and/or POLARSSL_ERROR_STRERRO_DUMMY not defined.\n");
return( 0 ); return( 0 );
} }
#else #else