123456789101112131415161718192021222324 |
- #include <linux/dcache.h>
- unsigned name_to_int(const struct qstr *qstr)
- {
- const char *name = qstr->name;
- int len = qstr->len;
- unsigned n = 0;
- if (len > 1 && *name == '0')
- goto out;
- do {
- unsigned c = *name++ - '0';
- if (c > 9)
- goto out;
- if (n >= (~0U-9)/10)
- goto out;
- n *= 10;
- n += c;
- } while (--len > 0);
- return n;
- out:
- return ~0U;
- }
|