1#include <linux/dcache.h>
2#include "internal.h"
3
4unsigned name_to_int(const struct qstr *qstr)
5{
6 const char *name = qstr->name;
7 int len = qstr->len;
8 unsigned n = 0;
9
10 if (len > 1 && *name == '0')
11 goto out;
12 do {
13 unsigned c = *name++ - '0';
14 if (c > 9)
15 goto out;
16 if (n >= (~0U-9)/10)
17 goto out;
18 n *= 10;
19 n += c;
20 } while (--len > 0);
21 return n;
22out:
23 return ~0U;
24}
25

source code of linux/fs/proc/util.c