summaryrefslogtreecommitdiff
path: root/src/runtime/sys_file.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/sys_file.c')
-rw-r--r--src/runtime/sys_file.c75
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);
-}