C-Netz SIM: Fix entering card numbers with leading zeroes
Numbers for the SIM card can be entered with zeroes in the front. This will not change numbers to octal. The Bosch OF 7 phone will not accept numbers in the phone book with less than 4 digits, so it is essential to allow entering numbers with zeroes in front. Also state that in the documents.
This commit is contained in:
parent
17123595ec
commit
470fc49341
|
@ -427,6 +427,7 @@ Turn on the phone and you will be asked for a PIN.
|
||||||
Enter the PIN 9991 to alter the first subscriber data.
|
Enter the PIN 9991 to alter the first subscriber data.
|
||||||
Enter the PIN 9992 .. 9998 to alter second to eighth subscriber data.
|
Enter the PIN 9992 .. 9998 to alter second to eighth subscriber data.
|
||||||
The subscriber data is shown in the telephone directory and can be altered by changing the numbers in that directory.
|
The subscriber data is shown in the telephone directory and can be altered by changing the numbers in that directory.
|
||||||
|
The Bosch OF 7 does not like to store numbers less than 3 digits. Put zeroes in front, if you want to store a value less than 1000.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
|
|
@ -31,7 +31,9 @@
|
||||||
#ifdef ARDUINO
|
#ifdef ARDUINO
|
||||||
#define LOGP(cat, level, fmt, arg...) while(0)
|
#define LOGP(cat, level, fmt, arg...) while(0)
|
||||||
#define EINVAL 22
|
#define EINVAL 22
|
||||||
static uint32_t my_strtoul(const char *nptr, char **endptr, int base)
|
#endif
|
||||||
|
|
||||||
|
static uint32_t my_strtoul(const char *nptr, char __attribute__((unused)) **endptr, int __attribute__((unused)) base)
|
||||||
{
|
{
|
||||||
uint32_t number = 0;
|
uint32_t number = 0;
|
||||||
|
|
||||||
|
@ -40,9 +42,6 @@ static uint32_t my_strtoul(const char *nptr, char **endptr, int base)
|
||||||
|
|
||||||
return number;
|
return number;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
#define my_strtoul strtoul
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void my_ultostr(char *nptr, uint32_t value, int zeros)
|
static void my_ultostr(char *nptr, uint32_t value, int zeros)
|
||||||
{
|
{
|
||||||
|
@ -143,7 +142,7 @@ int encode_ebdt(uint8_t *data, const char *futln, const char *sicherung, const c
|
||||||
if (futln[i] < '0' || futln[i] > '9')
|
if (futln[i] < '0' || futln[i] > '9')
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
temp = my_strtoul(futln, NULL, 0);
|
temp = my_strtoul(futln, NULL, 10);
|
||||||
if (i < 5 || temp > 65535) {
|
if (i < 5 || temp > 65535) {
|
||||||
LOGP(DSIM7, LOGL_NOTICE, "Given FUTLN '%s' has invalid last digits. (Must be '00000' .. '65535')\n", futln);
|
LOGP(DSIM7, LOGL_NOTICE, "Given FUTLN '%s' has invalid last digits. (Must be '00000' .. '65535')\n", futln);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
@ -153,7 +152,7 @@ int encode_ebdt(uint8_t *data, const char *futln, const char *sicherung, const c
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sicherung) {
|
if (sicherung) {
|
||||||
temp = my_strtoul(sicherung, NULL, 0);
|
temp = my_strtoul(sicherung, NULL, 10);
|
||||||
if (temp > 65535) {
|
if (temp > 65535) {
|
||||||
LOGP(DSIM7, LOGL_NOTICE, "Given security code '%s' has invalid digits. (Must be '0' .. '65535')\n", sicherung);
|
LOGP(DSIM7, LOGL_NOTICE, "Given security code '%s' has invalid digits. (Must be '0' .. '65535')\n", sicherung);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
@ -163,7 +162,7 @@ int encode_ebdt(uint8_t *data, const char *futln, const char *sicherung, const c
|
||||||
}
|
}
|
||||||
|
|
||||||
if (karten) {
|
if (karten) {
|
||||||
temp = my_strtoul(karten, NULL, 0);
|
temp = my_strtoul(karten, NULL, 10);
|
||||||
if (temp > 7) {
|
if (temp > 7) {
|
||||||
LOGP(DSIM7, LOGL_NOTICE, "Given card number '%s' has invalid digit. (Must be '0' .. '7')\n", karten);
|
LOGP(DSIM7, LOGL_NOTICE, "Given card number '%s' has invalid digit. (Must be '0' .. '7')\n", karten);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
@ -172,7 +171,7 @@ int encode_ebdt(uint8_t *data, const char *futln, const char *sicherung, const c
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sonder) {
|
if (sonder) {
|
||||||
temp = my_strtoul(sonder, NULL, 0);
|
temp = my_strtoul(sonder, NULL, 10);
|
||||||
if (temp > 8191) {
|
if (temp > 8191) {
|
||||||
LOGP(DSIM7, LOGL_NOTICE, "Given spacial code '%s' has invalid digits. (Must be '0' .. '8191')\n", sonder);
|
LOGP(DSIM7, LOGL_NOTICE, "Given spacial code '%s' has invalid digits. (Must be '0' .. '8191')\n", sonder);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
@ -182,7 +181,7 @@ int encode_ebdt(uint8_t *data, const char *futln, const char *sicherung, const c
|
||||||
}
|
}
|
||||||
|
|
||||||
if (wartung) {
|
if (wartung) {
|
||||||
temp = my_strtoul(wartung, NULL, 0);
|
temp = my_strtoul(wartung, NULL, 10);
|
||||||
if (temp > 65535) {
|
if (temp > 65535) {
|
||||||
LOGP(DSIM7, LOGL_NOTICE, "Given maintenance code '%s' has invalid digits. (Must be '0' .. '65535')\n", wartung);
|
LOGP(DSIM7, LOGL_NOTICE, "Given maintenance code '%s' has invalid digits. (Must be '0' .. '65535')\n", wartung);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
Loading…
Reference in New Issue