summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/cmd/hgfs/fs.c4
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 {