Hi Peter
Hi Leopold!
Also am internen S0 ist (oc3 & 0x70) immer 0x40 egal ob national oder international!
Dann ist es klar, was passiert: case 0x40 : if (*num != '0') { /* 100 Subscriber number */ strcpy(result, mynum); *local = 1; } else { strcpy(result, mycountry); while (*num == '0') num++; } /* else */ break; D.h. du bekommst _immer_ +49 (mycountry) vor die Nummer. Probier mal im else-Zweig oben: if (num[0] == '0' && num[1] == '0') strcpy(result, countryprefix) else strcpy(result, mycountry); while (*num == '0') num++;
Ich denke mal da wird trim nicht viel helfen, da dabei ja nur eine fixe Anzahl Stellen (Nullen) abgetrennt wird.
Ja, stimmt, mit »trim« geht's nicht.
Wenn ich mit den vorhanden Optionen nicht hinkomme muß ich mir den isdnlog Source modifizieren: wenn 00xx dann international wenn 0xx dann national
Genau.
Dafür ist er ja da. :-)
So isses.
Gruß
Peter
Servus, leo