/* check if the digit is a number and that is not null */
while (!(isxdigit(tmp[0])) && (tmp[0] != '\0')) {
- SS7_INFO("Dropping invalid digit: %c\n", tmp[0]);
- /* move on to the next value */
- k++;
- tmp[0] = val[k];
+ if (tmp[0] == '*') {
+ /* Could not find a spec that specifies this , but on customer system, * was transmitted as 0x0b */
+ SS7_DEBUG("Replacing * with 0x0b");
+ k++;
+ tmp[0] = 0x0b;
+ } else {
+ SS7_INFO("Dropping invalid digit: %c\n", tmp[0]);
+ /* move on to the next value */
+ k++;
+ tmp[0] = val[k];
+ }
} /* while(!(isdigit(tmp))) */
/* check if tmp is null or a digit */
/* confirm it is a hex digit */
while ((!isxdigit(tmp[0])) && (tmp[0] != '\0')) {
- SS7_INFO("Dropping invalid digit: %c\n", tmp[0]);
- /* move to the next character in subAddr */
- x++;
- tmp[0] = subAddr[x];
+ if (tmp[0] == '*') {
+ /* Could not find a spec that specifies this, but on customer system, * was transmitted as 0x0b */
+ SS7_DEBUG("Replacing * with 0x0b");
+ x++;
+ tmp[0] = 0x0b;
+ } else {
+ SS7_INFO("Dropping invalid digit: %c\n", tmp[0]);
+ /* move to the next character in subAddr */
+ x++;
+ tmp[0] = subAddr[x];
+ }
}
/* check if tmp is null or a digit */