diff options
Diffstat (limited to 'src/runtime/sys_file.c')
| -rw-r--r-- | src/runtime/sys_file.c | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/src/runtime/sys_file.c b/src/runtime/sys_file.c deleted file mode 100644 index 1fc1e55e6..000000000 --- a/src/runtime/sys_file.c +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2009 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -#include "runtime.h" -#include "sys_types.h" - -void -sys·readfile(string filein, string fileout, bool okout) -{ - int32 fd; - byte namebuf[256]; - struct stat statbuf; - - fileout = nil; - okout = false; - - if(filein == nil || filein->len >= sizeof(namebuf)) - goto out; - - mcpy(namebuf, filein->str, filein->len); - namebuf[filein->len] = '\0'; - fd = open(namebuf, 0); - if(fd < 0) - goto out; - - if (fstat(fd, &statbuf) < 0) - goto close_out; - - if (statbuf.st_size <= 0) - goto close_out; - - fileout = mal(sizeof(fileout->len)+statbuf.st_size + 1); - fileout->len = statbuf.st_size; - - if (read(fd, fileout->str, statbuf.st_size) != statbuf.st_size) { - fileout = nil; - goto close_out; - } - okout = true; - -close_out: - close(fd); -out: - FLUSH(&fileout); - FLUSH(&okout); -} - -void -sys·writefile(string filein, string textin, bool okout) -{ - int32 fd; - byte namebuf[256]; - - okout = false; - - if(filein == nil || filein->len >= sizeof(namebuf)) - goto out; - - mcpy(namebuf, filein->str, filein->len); - namebuf[filein->len] = '\0'; - fd = open(namebuf, 1|O_CREAT, 0644); // open for write, create if non-existant (sic) - if(fd < 0) - goto out; - - if (write(fd, textin->str, textin->len) != textin->len) { - goto close_out; - } - okout = true; - -close_out: - close(fd); -out: - FLUSH(&okout); -} |
