Alexander Bluhm wrote: > + > + for (n = 1; n < cmd.argc; n++) { > + p = cmd.argv[n]; > + if (*p == '0') { > + p++; > + if (*p == 'x' || *p == 'X') { > + p++; > + b = 16; > + } else > + b = 8; > + } else > + b = 10; > + val[n-1] = 0; > + for (; *p != '\0'; p++) { > + if (*p >= '0' && *p <= '9') > + d = *p - '0'; > + else if (*p >= 'a' && *p <= 'z') > + d = *p - 'a' + 10; > + else if (*p >= 'A' && *p <= 'Z') > + d = *p - 'A' + 10; > + else > + goto err; > + if (d >= b) > + goto err; > + val[n-1] = val[n-1] * b + d;
why not use strtol here?