On Mon, 30 Jul 2007 08:19:10 +0530 Satyam Sharma <[EMAIL PROTECTED]> wrote:
> +/* > + * Wrapper over simple_strtol (base 10) with sanity and range checking. > + * We return (signed) long only because we may want to return errors. > + * Do not use this to convert numbers that are allowed to be negative. > + */ > +static long strtol10_check_range(const char *cp, long min, long max) > +{ > + long ret; > + char *p = (char *) cp; > + > + WARN_ON(min < 0); > + WARN_ON(max < min); > + > + ret = simple_strtol(p, &p, 10); > + > + if (*p && (*p != '\n')) { > + printk(KERN_ERR "netconsole: invalid input\n"); > + return -EINVAL; > + } > + if ((ret < min) || (ret > max)) { > + printk(KERN_ERR "netconsole: input %ld must be between " > + "%ld and %ld\n", ret, min, max); > + return -EINVAL; > + } > + > + return ret; > +} There's probably other code around the place which does this. It might be worth making this function a general-purpose thing. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html