diff options
| -rw-r--r-- | sys/src/cmd/hgfs/fs.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/src/cmd/hgfs/fs.c b/sys/src/cmd/hgfs/fs.c index 09644b8a5..918f80d39 100644 --- a/sys/src/cmd/hgfs/fs.c +++ b/sys/src/cmd/hgfs/fs.c @@ -499,13 +499,13 @@ fswalk1(Fid *fid, char *name, Qid *qid) if(nd == nil){ if(sname == name){ sname = strrchr(name, '.'); - if((i = sname - name) > 0){ + if(sname && (i = utfnlen(name, sname - name)) > 0){ + snprint(buf, sizeof(buf), "%.*s", i, name); sname++; if(strncmp(sname, "rev", 3) == 0){ level = Qtreerev; sname += 3; } - snprint(buf, sizeof(buf), "%.*s", i, name); if(*sname == 0) i = 0; else { |
