mescc: m4 support: WIP
[mes.git] / lib / libc+tcc.c
index bf0d04990ad2311a7ecebbd78929b1bf47d246de..e9b77cbdfb526f983041dd32e59ddc9a31b69682 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, ...)
 {
@@ -94,10 +87,15 @@ fprintf (FILE *stream, char const *format, ...)
 }
 
 size_t
-fread (void *ptr, size_t size, size_t nmemb, FILE *stream)
+fread (void *data, size_t size, size_t count, FILE *stream)
 {
-  eputs ("fread stub\n");
-  return 0;
+  if (! size || !count)
+    return 0;
+  int bytes = read ((int)stream, data, size * count);
+  if (bytes > 0)
+    return bytes/size;
+
+  return bytes;
 }
 
 int
@@ -114,13 +112,6 @@ ftell (FILE *stream)
   return 0;
 }
 
-size_t
-fwrite (void const *ptr, size_t size, size_t nmemb, FILE *stream)
-{
-  int fd = (int)stream;
-  return write (fd, ptr, size * nmemb);
-}
-
 int
 gettimeofday (struct timeval *tv, struct timezone *tz)
 {