X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=judge%2Fio.c;h=39e220f17f00ba53474d05e57f558ca1d5884d41;hb=14a86595bbff1ef0b0e504480fb36d097e5cf17c;hp=68c299248ee158e58e2413ad907e6ec5df6b8caa;hpb=a3cb81d88eb514af15ba6bd5279a1549c0ba5266;p=moe.git diff --git a/judge/io.c b/judge/io.c index 68c2992..39e220f 100644 --- a/judge/io.c +++ b/judge/io.c @@ -15,13 +15,14 @@ struct stream *sopen_fd(char *name, int fd) { - struct stream *s = xmalloc(sizeof(*s) + BUFSIZE + strlen(name) + 1); + char *slash = strrchr(name, '/'); + char *basename = (slash ? slash+1 : name); + struct stream *s = xmalloc(sizeof(*s) + BUFSIZE + strlen(basename) + 1); s->fd = fd; s->pos = s->stop = s->buf; s->end = s->buf + BUFSIZE; s->name = s->end; - strcpy(s->name, name); - s->flags = 0; + strcpy(s->name, basename); return s; }