|
@@ -390,12 +390,12 @@ static const struct zsau_resp_t {
|
|
|
*/
|
|
|
static int cid_of_response(char *s)
|
|
|
{
|
|
|
- unsigned long cid;
|
|
|
+ int cid;
|
|
|
int rc;
|
|
|
|
|
|
if (s[-1] != ';')
|
|
|
return 0; /* no CID separator */
|
|
|
- rc = strict_strtoul(s, 10, &cid);
|
|
|
+ rc = kstrtoint(s, 10, &cid);
|
|
|
if (rc)
|
|
|
return 0; /* CID not numeric */
|
|
|
if (cid < 1 || cid > 65535)
|
|
@@ -566,27 +566,19 @@ void gigaset_handle_modem_response(struct cardstate *cs)
|
|
|
case RT_ZCAU:
|
|
|
event->parameter = -1;
|
|
|
if (curarg + 1 < params) {
|
|
|
- unsigned long type, value;
|
|
|
-
|
|
|
- i = strict_strtoul(argv[curarg++], 16, &type);
|
|
|
- j = strict_strtoul(argv[curarg++], 16, &value);
|
|
|
+ u8 type, value;
|
|
|
|
|
|
- if (i == 0 && type < 256 &&
|
|
|
- j == 0 && value < 256)
|
|
|
+ i = kstrtou8(argv[curarg++], 16, &type);
|
|
|
+ j = kstrtou8(argv[curarg++], 16, &value);
|
|
|
+ if (i == 0 && j == 0)
|
|
|
event->parameter = (type << 8) | value;
|
|
|
} else
|
|
|
curarg = params - 1;
|
|
|
break;
|
|
|
case RT_NUMBER:
|
|
|
- event->parameter = -1;
|
|
|
- if (curarg < params) {
|
|
|
- unsigned long res;
|
|
|
- int rc;
|
|
|
-
|
|
|
- rc = strict_strtoul(argv[curarg++], 10, &res);
|
|
|
- if (rc == 0)
|
|
|
- event->parameter = res;
|
|
|
- }
|
|
|
+ if (curarg >= params ||
|
|
|
+ kstrtoint(argv[curarg++], 10, &event->parameter))
|
|
|
+ event->parameter = -1;
|
|
|
gig_dbg(DEBUG_EVENT, "parameter==%d", event->parameter);
|
|
|
break;
|
|
|
}
|