diff options
Diffstat (limited to 'ports/unix/guts/freopen.c')
-rw-r--r-- | ports/unix/guts/freopen.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/ports/unix/guts/freopen.c b/ports/unix/guts/freopen.c index b5a7bfc..eb788b3 100644 --- a/ports/unix/guts/freopen.c +++ b/ports/unix/guts/freopen.c @@ -6,9 +6,9 @@ * wrap_freopen(const char *path, const char *mode, FILE *stream) { * FILE * rc = NULL; */ - struct stat buf; + PSEUDO_STATBUF buf; int save_errno; - int existed = (real_stat(path, &buf) != -1); + int existed = (base_stat(path, &buf) != -1); rc = real_freopen(path, mode, stream); save_errno = errno; @@ -17,15 +17,15 @@ int fd = fileno(rc); pseudo_debug(2, "freopen '%s': fd %d\n", path, fd); - if (real_fstat(fd, &buf) != -1) { + if (base_fstat(fd, &buf) != -1) { if (!existed) { - pseudo_client_op_plain(OP_CREAT, 0, -1, -1, path, &buf); + pseudo_client_op(OP_CREAT, 0, -1, -1, path, &buf); } - pseudo_client_op_plain(OP_OPEN, pseudo_access_fopen(mode), fd, -1, path, &buf); + pseudo_client_op(OP_OPEN, pseudo_access_fopen(mode), fd, -1, path, &buf); } else { pseudo_debug(1, "fopen (fd %d) succeeded, but stat failed (%s).\n", fd, strerror(errno)); - pseudo_client_op_plain(OP_OPEN, pseudo_access_fopen(mode), fd, -1, path, 0); + pseudo_client_op(OP_OPEN, pseudo_access_fopen(mode), fd, -1, path, 0); } errno = save_errno; } |