mescc: Add fopen.
authorJeremiah Orians <jeremiah@pdp10.guru>
Sat, 26 May 2018 20:33:00 +0000 (16:33 -0400)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sat, 26 May 2018 20:33:00 +0000 (16:33 -0400)
* lib/libc+tcc.c (fopen)[!POSIX]: Remove stub.
* lib/libc.c (fopen)[!POSIX]: New function.
* AUTHORS: Add Jeremiah.

AUTHORS
include/stdio.h
lib/libc+tcc.c
lib/libc.c

diff --git a/AUTHORS b/AUTHORS
index 8fa5509557266f69117c596d38c92982941f4d7a..757e0f40b7fc9f59cb11752e8ca9576dc1f7ad0a 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,6 +1,13 @@
 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 Main author
-All files except the files listed below
+All files except the imported files listed below
+
+Jeremiah Orians <jeremiah@pdp10.guru>
+lib/libc.c (fopen)
+
+
+
+List of imported files
 
 Based on Guile ECMAScript
 module/language/c/lexer.mes
index 9e880e218e30c1575a54b76924622da7ec6a2968..230eb05747687bb6dc971bb3213c6b16421d8928 100644 (file)
@@ -103,7 +103,7 @@ int eputs (char const* s);
 int fclose (FILE *stream);
 FILE *fdopen (int fd, char const *mode);
 int fflush (FILE *stream);
-FILE *fopen (char const *pathname, char const *mode);
+FILE *fopen (char const *file_name, char const *mode);
 int ferror (FILE *stream);
 int fprintf (FILE *stream, char const *format, ...);
 int fdputc (int c, int fd);
index bf0d04990ad2311a7ecebbd78929b1bf47d246de..3a0b425b43e511e60ffe474cd2d16f772504589a 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-comment-start: "//";comment-end:""-*-
  * Mes --- Maxwell Equations of Software
- * Copyright © 2017 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+ * Copyright © 2017,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
  *
  * This file is part of Mes.
  *
@@ -76,13 +76,6 @@ fflush (FILE *stream)
   return 0;
 }
 
-FILE *
-fopen (char const *pathname, char const *mode)
-{
-  eputs ("fopen stub\n");
-  return 0;
-}
-
 int
 fprintf (FILE *stream, char const *format, ...)
 {
index 40be8a449826e6db2d79195ae20ab5f287515f6b..7f0bf1c12c2aaad088e06a2b24fa26a6a200124d 100644 (file)
@@ -1,6 +1,7 @@
 /* -*-comment-start: "//";comment-end:""-*-
  * Mes --- Maxwell Equations of Software
- * Copyright © 2016,2017 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+ * Copyright © 2016,2017,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+ * Copyright © 2018 Jeremiah Orians <jeremiah@pdp10.guru>
  *
  * This file is part of Mes.
  *
@@ -174,6 +175,24 @@ eputc (int c)
   return fdputc (c, STDERR);
 }
 
+FILE*
+fopen (char const* file_name, char const* mode)
+{
+  FILE* f;
+  if ('w' == mode[0])
+    /* 577 is O_WRONLY|O_CREAT|O_TRUNC, 384 is 600 in octal */
+    f = open (file_name, 577 , 384);
+  else
+    /* Everything else is a read */
+    f = open (file_name, 0, 0);
+
+  /* Negative numbers are error codes */
+  if (0 > f)
+    return 0;
+
+  return f;
+}
+
 int
 putchar (int c)
 {