mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-10-31 11:40:51 -04:00 
			
		
		
		
	 df587ee6d6
			
		
	
	
		df587ee6d6
		
	
	
	
	
		
			
			Now that the Error module has error codes as well and is processed by the generate_errors script like any other module, we don't need to include the header manually.
		
			
				
	
	
		
			123 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /*
 | |
|  *  Error message information
 | |
|  *
 | |
|  *  Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
 | |
|  *  SPDX-License-Identifier: Apache-2.0
 | |
|  *
 | |
|  *  Licensed under the Apache License, Version 2.0 (the "License"); you may
 | |
|  *  not use this file except in compliance with the License.
 | |
|  *  You may obtain a copy of the License at
 | |
|  *
 | |
|  *  http://www.apache.org/licenses/LICENSE-2.0
 | |
|  *
 | |
|  *  Unless required by applicable law or agreed to in writing, software
 | |
|  *  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 | |
|  *  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
|  *  See the License for the specific language governing permissions and
 | |
|  *  limitations under the License.
 | |
|  *
 | |
|  *  This file is part of mbed TLS (https://tls.mbed.org)
 | |
|  */
 | |
| 
 | |
| #if !defined(MBEDTLS_CONFIG_FILE)
 | |
| #include "mbedtls/config.h"
 | |
| #else
 | |
| #include MBEDTLS_CONFIG_FILE
 | |
| #endif
 | |
| 
 | |
| #if defined(MBEDTLS_ERROR_STRERROR_DUMMY)
 | |
| #include <string.h>
 | |
| #endif
 | |
| 
 | |
| #if defined(MBEDTLS_PLATFORM_C)
 | |
| #include "mbedtls/platform.h"
 | |
| #else
 | |
| #define mbedtls_snprintf snprintf
 | |
| #define mbedtls_time_t   time_t
 | |
| #endif
 | |
| 
 | |
| #if defined(MBEDTLS_ERROR_C)
 | |
| 
 | |
| #include <stdio.h>
 | |
| 
 | |
| HEADER_INCLUDED
 | |
| 
 | |
| void mbedtls_strerror( int ret, char *buf, size_t buflen )
 | |
| {
 | |
|     size_t len;
 | |
|     int use_ret;
 | |
| 
 | |
|     if( buflen == 0 )
 | |
|         return;
 | |
| 
 | |
|     memset( buf, 0x00, buflen );
 | |
| 
 | |
|     if( ret < 0 )
 | |
|         ret = -ret;
 | |
| 
 | |
|     if( ret & 0xFF80 )
 | |
|     {
 | |
|         use_ret = ret & 0xFF80;
 | |
| 
 | |
|         // High level error codes
 | |
|         //
 | |
|         // BEGIN generated code
 | |
| HIGH_LEVEL_CODE_CHECKS
 | |
|         // END generated code
 | |
| 
 | |
|         if( strlen( buf ) == 0 )
 | |
|             mbedtls_snprintf( buf, buflen, "UNKNOWN ERROR CODE (%04X)", use_ret );
 | |
|     }
 | |
| 
 | |
|     use_ret = ret & ~0xFF80;
 | |
| 
 | |
|     if( use_ret == 0 )
 | |
|         return;
 | |
| 
 | |
|     // If high level code is present, make a concatenation between both
 | |
|     // error strings.
 | |
|     //
 | |
|     len = strlen( buf );
 | |
| 
 | |
|     if( len > 0 )
 | |
|     {
 | |
|         if( buflen - len < 5 )
 | |
|             return;
 | |
| 
 | |
|         mbedtls_snprintf( buf + len, buflen - len, " : " );
 | |
| 
 | |
|         buf += len + 3;
 | |
|         buflen -= len + 3;
 | |
|     }
 | |
| 
 | |
|     // Low level error codes
 | |
|     //
 | |
|     // BEGIN generated code
 | |
| LOW_LEVEL_CODE_CHECKS
 | |
|     // END generated code
 | |
| 
 | |
|     if( strlen( buf ) != 0 )
 | |
|         return;
 | |
| 
 | |
|     mbedtls_snprintf( buf, buflen, "UNKNOWN ERROR CODE (%04X)", use_ret );
 | |
| }
 | |
| 
 | |
| #else /* MBEDTLS_ERROR_C */
 | |
| 
 | |
| #if defined(MBEDTLS_ERROR_STRERROR_DUMMY)
 | |
| 
 | |
| /*
 | |
|  * Provide an non-function in case MBEDTLS_ERROR_C is not defined
 | |
|  */
 | |
| void mbedtls_strerror( int ret, char *buf, size_t buflen )
 | |
| {
 | |
|     ((void) ret);
 | |
| 
 | |
|     if( buflen > 0 )
 | |
|         buf[0] = '\0';
 | |
| }
 | |
| 
 | |
| #endif /* MBEDTLS_ERROR_STRERROR_DUMMY */
 | |
| 
 | |
| #endif /* MBEDTLS_ERROR_C */
 |