/** * Compare two strings with exact length * @param str1 * @param len1 * @param str2 * @param len2 * @return TRUE if len1==len2 and "len" characters of both strings are equal */ bool_t compareStr(const char * str1, size_t len1, const char * str2, size_t len2) { if (len1 != len2) { return FALSE; } if (SCPI_strncasecmp(str1, str2, len2) == 0) { return TRUE; } return FALSE; }
/** * Compare two strings, one be longer but may contains only numbers in that section * @param str1 * @param len1 * @param str2 * @param len2 * @return TRUE if strings match */ scpi_bool_t compareStrAndNum(const char * str1, size_t len1, const char * str2, size_t len2) { scpi_bool_t result = FALSE; size_t i; if (len2 < len1) { return FALSE; } if (SCPI_strncasecmp(str1, str2, len1) == 0) { result = TRUE; } for (i = len1; i<len2; i++) { if (!isdigit((int) str2[i])) { result = FALSE; break; } } return result; }