rem: len = decode_tag_value(&apdu[0], &len_value);
add: len = decode_tag_number_and_value(&apdu[0], &tag_number, &len_value);
context: int decode_character_string(uint8_t * apdu, char *char_string){    int len = 0, i = 0;    uint32_t len_value = 0;    len = decode_tag_value(&apdu[0], &len_value);    if (len_value) {        // decode ANSI X3.4        if (apdu[len] == 0) {            len++;            len_value--;            for (i = 0; i < len_value; i++) {                char_string[i] = apdu[len + i];            }            // terminate the c string            char_string[i] = 0;            len += len_value;        }    }    return len;}