Something went wrong. Try again.
Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Something went wrong. Try again.
12345678910111213141516171819202122232425#include <linux/dcache.h>#include "internal.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;}