thanks erik, some careless misses.
int
checkname(char *s)
{
int i, n;
- Rune c;
+ Rune r;
if(s == nil || *s == 0)
return Ename;
if(*s == '.' && (s[1] == 0 || (s[1] == '.' && s[2] == 0)))
return Edot;
for(i = 0;; i += n) {
- n = chartorune(&r, s);
+ n = chartorune(&r, &s[i]);
if(i+n >= NAMELEN)
return Etoolong;
if(r == 0)
return 0;
if(n == 1 && r == Runeerror)
return Ename;
- if(r <= 040 || r == 0x7f)
+ if(r < 040 || r == 0x7f)
return Ename;
}
}
