quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

version_features.fmt (853B)


      1 /*
      2  *  Version feature information
      3  *
      4  *  Copyright The Mbed TLS Contributors
      5  *  SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
      6  */
      7 
      8 #include "common.h"
      9 
     10 #if defined(MBEDTLS_VERSION_C)
     11 
     12 #include "mbedtls/version.h"
     13 
     14 #include <string.h>
     15 
     16 static const char * const features[] = {
     17 #if defined(MBEDTLS_VERSION_FEATURES)
     18     FEATURE_DEFINES
     19 #endif /* MBEDTLS_VERSION_FEATURES */
     20     NULL
     21 };
     22 
     23 int mbedtls_version_check_feature(const char *feature)
     24 {
     25     const char * const *idx = features;
     26 
     27     if (*idx == NULL) {
     28         return -2;
     29     }
     30 
     31     if (feature == NULL) {
     32         return -1;
     33     }
     34 
     35     if (strncmp(feature, "MBEDTLS_", 8)) {
     36         return -1;
     37     }
     38 
     39     feature += 8;
     40 
     41     while (*idx != NULL) {
     42         if (!strcmp(*idx, feature)) {
     43             return 0;
     44         }
     45         idx++;
     46     }
     47     return -1;
     48 }
     49 
     50 #endif /* MBEDTLS_VERSION_C */