Aviod seg fault when no file
diff --git a/src/cmd/sam/shell.c b/src/cmd/sam/shell.c
index ba69be6..e865095 100644
--- a/src/cmd/sam/shell.c
+++ b/src/cmd/sam/shell.c
@@ -12,7 +12,10 @@
 setname(File *f)
 {
 	char buf[1024];
-	snprint(buf, sizeof buf, "%.*S", f->name.n, f->name.s);
+	if(f)
+		snprint(buf, sizeof buf, "%.*S", f->name.n, f->name.s);
+	else
+		buf[0] = 0;
 	putenv("samfile", buf);
 }