From 8f04eea84792ec9dd3038860e66abb4206ff2a18 Mon Sep 17 00:00:00 2001 From: Jeff Bezanson Date: Thu, 22 May 2014 18:09:49 -0400 Subject: [PATCH] fix bug in file-not-found due to incomplete init of the ios_t --- iostream.c | 7 ++----- llt/ios.c | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/iostream.c b/iostream.c index c750c7c..53ec822 100644 --- a/iostream.c +++ b/iostream.c @@ -28,11 +28,8 @@ void relocate_iostream(value_t oldv, value_t newv) { ios_t *olds = value2c(ios_t*, oldv); ios_t *news = value2c(ios_t*, newv); - cvalue_t *cv = (cvalue_t*)ptr(oldv); - if (isinlined(cv)) { - if (olds->buf == &olds->local[0]) { - news->buf = &news->local[0]; - } + if (news->buf == &olds->local[0]) { + news->buf = &news->local[0]; } } diff --git a/llt/ios.c b/llt/ios.c index 25cff02..1084654 100644 --- a/llt/ios.c +++ b/llt/ios.c @@ -752,9 +752,9 @@ ios_t *ios_file(ios_t *s, char *fname, int rd, int wr, int create, int trunc) if (create) flags |= O_CREAT; if (trunc) flags |= O_TRUNC; fd = open(fname, flags, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH/*644*/); + s = ios_fd(s, fd, 1, 1); if (fd == -1) goto open_file_err; - s = ios_fd(s, fd, 1, 1); if (!wr) s->readonly = 1; return s;