68 #define LIB_STR_MODULE
224 DEF_INT_CPU_U_MAX_VAL);
287 while (( pstr_len != (
const CPU_CHAR *) 0 ) &&
359 DEF_INT_CPU_U_MAX_VAL);
454 if (pstr_src == (
const CPU_CHAR *)0) {
459 pstr_copy_dest = pstr_dest;
460 pstr_copy_src = pstr_src;
463 while (( pstr_copy_dest != (
CPU_CHAR *) 0 ) &&
464 ( pstr_copy_src != (
const CPU_CHAR *) 0 ) &&
465 (*pstr_copy_src != (
CPU_CHAR )
'\0') &&
467 *pstr_copy_dest = *pstr_copy_src;
473 if ((pstr_copy_dest == (
CPU_CHAR *)0) ||
474 (pstr_copy_src == (
const CPU_CHAR *)0)) {
478 if (len_copy < len_max) {
552 DEF_INT_CPU_U_MAX_VAL);
639 if (pstr_cat == (
const CPU_CHAR *)0) {
648 pstr_cat_dest = pstr_dest;
649 while (( pstr_cat_dest != (
CPU_CHAR *) 0 ) &&
650 (*pstr_cat_dest != (
CPU_CHAR )
'\0')) {
653 if (pstr_cat_dest == (
CPU_CHAR *)0) {
657 pstr_cat_src = pstr_cat;
660 while (( pstr_cat_dest != (
CPU_CHAR *) 0 ) &&
661 ( pstr_cat_src != (
const CPU_CHAR *) 0 ) &&
662 (*pstr_cat_src != (
CPU_CHAR )
'\0') &&
664 *pstr_cat_dest = *pstr_cat_src;
670 if ((pstr_cat_dest == (
CPU_CHAR *)0) ||
671 (pstr_cat_src == (
const CPU_CHAR *)0)) {
766 DEF_INT_CPU_U_MAX_VAL);
876 if (p1_str == (
const CPU_CHAR *)0) {
877 if (p2_str == (
const CPU_CHAR *)0) {
883 if (p2_str == (
const CPU_CHAR *)0) {
891 p1_str_cmp_next = p1_str_cmp;
892 p2_str_cmp_next = p2_str_cmp;
897 while ((*p1_str_cmp == *p2_str_cmp) &&
898 (*p1_str_cmp != (
CPU_CHAR )
'\0') &&
899 ( p1_str_cmp_next != (
const CPU_CHAR *) 0 ) &&
900 ( p2_str_cmp_next != (
const CPU_CHAR *) 0 ) &&
910 if (cmp_len == len_max) {
914 if (*p1_str_cmp != *p2_str_cmp) {
918 }
else if (*p1_str_cmp == (
CPU_CHAR)
'\0') {
922 if (p1_str_cmp_next == (
const CPU_CHAR *)0) {
923 if (p2_str_cmp_next == (
const CPU_CHAR *)0) {
1033 DEF_INT_CPU_U_MAX_VAL);
1155 if (p1_str == (
const CPU_CHAR *)0) {
1156 if (p2_str == (
const CPU_CHAR *)0) {
1163 if (p2_str == (
const CPU_CHAR *)0) {
1170 p1_str_cmp = p1_str;
1171 p2_str_cmp = p2_str;
1172 p1_str_cmp_next = p1_str_cmp;
1173 p2_str_cmp_next = p2_str_cmp;
1180 while (( char_1 == char_2) &&
1181 (*p1_str_cmp != (
CPU_CHAR )
'\0') &&
1182 ( p1_str_cmp_next != (
const CPU_CHAR *) 0 ) &&
1183 ( p2_str_cmp_next != (
const CPU_CHAR *) 0 ) &&
1195 if (cmp_len == len_max) {
1199 if (char_1 != char_2) {
1202 }
else if (char_1 == (
CPU_CHAR)
'\0') {
1206 if (p1_str_cmp_next == (
const CPU_CHAR *)0) {
1207 if (p2_str_cmp_next == (
const CPU_CHAR *)0) {
1284 DEF_INT_CPU_U_MAX_VAL,
1378 while (( pstr_char != (
const CPU_CHAR *) 0 ) &&
1379 (*pstr_char != (
CPU_CHAR )
'\0') &&
1380 (*pstr_char != (
CPU_CHAR )srch_char) &&
1387 if (pstr_char == (
const CPU_CHAR *)0) {
1391 if (len_srch >= len_max) {
1395 if (*pstr_char != srch_char) {
1463 DEF_INT_CPU_U_MAX_VAL,
1558 str_len_max = len_max -
sizeof((
CPU_CHAR)
'\0');
1559 str_len =
Str_Len_N(pstr_char, str_len_max);
1560 pstr_char += str_len;
1562 if (pstr_char == (
const CPU_CHAR *)0) {
1566 while (( pstr_char != pstr) &&
1567 (*pstr_char != srch_char)) {
1572 if (*pstr_char != srch_char) {
1650 DEF_INT_CPU_U_MAX_VAL);
1745 if (pstr_srch == (
const CPU_CHAR *)0) {
1754 len_max_srch = (len_max < DEF_INT_CPU_U_MAX_VAL)
1755 ? (len_max + 1u) : DEF_INT_CPU_U_MAX_VAL;
1758 str_len_srch =
Str_Len_N(pstr_srch, len_max_srch);
1759 if (str_len_srch == 0) {
1762 if (str_len_srch > str_len) {
1766 pstr_str = pstr + str_len;
1767 if (pstr_str == (
const CPU_CHAR *)0) {
1770 pstr_str = pstr_srch + str_len_srch;
1771 if (pstr_str == (
const CPU_CHAR *)0) {
1776 srch_len = str_len - str_len_srch;
1781 pstr_srch_ix = (
const CPU_CHAR *)(pstr + srch_ix);
1782 srch_cmp =
Str_Cmp_N(pstr_srch_ix, pstr_srch, str_len_srch);
1785 }
while ((srch_done ==
DEF_NO) && (srch_ix <= srch_len));
1788 if (srch_cmp != 0) {
2452 #if (LIB_STR_CFG_FP_EN == DEF_ENABLED)
2488 if ((nbr_dig < 1) && (nbr_dp < 1)) {
2497 }
else if (lead_char !=
'0') {
2499 if (lead_char_dig ==
DEF_YES) {
2509 if (fmt_invalid ==
DEF_NO) {
2522 while (nbr_log >= 1.0f) {
2527 if (((nbr_dig >= (nbr_dig_max + nbr_neg_sign)) ||
2528 (nbr_dig_max < 1)) &&
2534 for (i = 1u; i < nbr_dig; i++) {
2541 lead_char_0 = (lead_char ==
'0')
2552 for (i = nbr_dig; i > 0; i--) {
2553 if (fmt_invalid ==
DEF_NO) {
2555 nbr_shiftd = (
CPU_INT32U)(nbr_fmt / dig_exp);
2556 if ((nbr_shiftd > 0) ||
2560 (nbr_neg_fmtd ==
DEF_NO )) {
2562 if (lead_char_fmtd ==
DEF_YES) {
2569 if (nbr_shiftd > 0) {
2571 *pstr_fmt++ = (
CPU_CHAR )(dig_val +
'0');
2575 }
else if ((nbr_dig > 1) ||
2580 }
else if ((nbr_neg ==
DEF_YES) &&
2582 (nbr_neg_fmtd ==
DEF_NO )) {
2587 }
else if (lead_char != (
CPU_CHAR)
'\0') {
2588 *pstr_fmt++ = lead_char;
2607 if (fmt_invalid ==
DEF_NO) {
2609 (nbr_neg_fmtd ==
DEF_NO )) {
2619 if (fmt_invalid ==
DEF_NO) {
2626 for (i = 0u; i < nbr_dp; i++) {
2627 if (fmt_invalid ==
DEF_NO) {
2632 *pstr_fmt++ = (
CPU_CHAR )(dig_val +
'0');
2635 if ((nbr_shiftd > 0) ||
2636 (nbr_dig_sig > 0)) {
2656 if (fmt_invalid !=
DEF_NO) {
3374 if ((nbr_base < 2) ||
3384 }
else if (lead_char !=
'0') {
3385 lead_char_delta_0 = (
CPU_INT08U)(lead_char -
'0');
3387 lead_char_delta_a = (
CPU_INT08U)(lead_char -
'A');
3389 lead_char_delta_a = (
CPU_INT08U)(lead_char -
'a');
3392 lead_char_dig = (((nbr_base <= 10) && (lead_char_delta_0 < nbr_base)) ||
3393 ((nbr_base > 10) && ((lead_char_delta_0 < 10) ||
3394 (lead_char_delta_a < (nbr_base - 10))))) ?
DEF_YES :
DEF_NO;
3396 if (lead_char_dig ==
DEF_YES) {
3406 if (fmt_invalid ==
DEF_NO) {
3410 while (nbr_log >= nbr_base) {
3412 nbr_log /= nbr_base;
3415 nbr_neg_sign = (nbr_neg ==
DEF_YES) ? 1u : 0u;
3416 if (nbr_dig >= (nbr_dig_max + nbr_neg_sign)) {
3418 nbr_dig_min =
DEF_MIN(nbr_dig_max, nbr_dig);
3421 nbr_dig_fmtd = nbr_dig;
3422 nbr_lead_char = nbr_dig -
3423 nbr_dig_min - nbr_neg_sign;
3425 nbr_dig_fmtd = nbr_dig_min + nbr_neg_sign;
3429 if (nbr_lead_char > 0) {
3430 lead_char_0 = (lead_char ==
'0')
3441 if (fmt_invalid !=
DEF_NO) {
3442 nbr_dig_fmtd = nbr_dig;
3448 pstr_fmt += nbr_dig_fmtd;
3456 for (i = 0u; i < nbr_dig_fmtd; i++) {
3457 if (fmt_invalid ==
DEF_NO) {
3458 if ((nbr_fmt > 0) ||
3463 *pstr_fmt-- = (
CPU_CHAR)(dig_val +
'0');
3466 *pstr_fmt-- = (
CPU_CHAR)((dig_val - 10u) +
'A');
3468 *pstr_fmt-- = (
CPU_CHAR)((dig_val - 10u) +
'a');
3472 nbr_fmt /= nbr_base;
3474 }
else if ((nbr_neg ==
DEF_YES) &&
3475 (((lead_char_0 ==
DEF_NO ) &&
3476 (nbr_neg_fmtd ==
DEF_NO )) ||
3477 ((lead_char_0 !=
DEF_NO ) &&
3478 (i == (nbr_dig_fmtd - 1))))) {
3483 }
else if (lead_char != (
CPU_CHAR)
'\0') {
3484 *pstr_fmt-- = lead_char;
3493 if (fmt_invalid !=
DEF_NO) {
3752 if (pstr_next == (
CPU_CHAR **) 0) {
3753 pstr_next = (
CPU_CHAR **)&pstr_parse_unused;
3754 (void)&pstr_parse_unused;
3760 (void)&nbr_neg_unused;
3769 if ((nbr_base == 1) ||
3779 while (whitespace ==
DEF_YES) {
3784 switch (*pstr_parse) {
3807 pstr_parse_nbr = pstr_parse;
3811 if (*pstr_parse ==
'0') {
3813 switch (*pstr_parse) {
3817 parse_char = (
CPU_CHAR)(*(pstr_parse + 1));
3837 if (*pstr_parse ==
'0') {
3844 if (*pstr_parse ==
'0') {
3846 switch (*pstr_parse) {
3849 parse_char = (
CPU_CHAR)(*(pstr_parse + 1));
3876 parse_char = (
CPU_CHAR)*pstr_parse;
3885 if (nbr_hex_lower ==
DEF_YES) {
3886 parse_dig = (
CPU_INT08U)((parse_char -
'a') + 10u);
3888 parse_dig = (
CPU_INT08U)((parse_char -
'A') + 10u);
3892 if (parse_dig < nbr_base) {
3898 if (nbr < parse_dig) {
3921 if (pstr_parse != pstr_parse_nbr) {
3922 *pstr_next = (
CPU_CHAR *)pstr_parse;