Fix various c99/gcc-14 issues in generic libgloss code
Commit Message
Similar to what's been done in the ports, but this time in generic code.
Add missing #includes to pick up prototypes. Add prototypes for various
internal functions where needed. Fix signatures of various functions to
match what's provided by the headers (read, sbrk, write, unlink).
Nearly done with this effort ;-)
Pushed to the trunk,
Jeff
commit 3d10b04f1ed9bf53c282081c88165951e8c32cec
Author: Jeff Law <jeffreyalaw@gmail.com>
Date: Fri Dec 29 21:31:27 2023 -0700
Fix various c99/gcc-14 issues in generic libgloss code
Similar to what's been done in the ports, but this time in generic code.
Add missing #includes to pick up prototypes. Add prototypes for various
internal functions where needed. Fix signatures of various functions to match
what's provided by the headers (read, sbrk, write, unlink).
Nearly done with this effort ;-)
Pushed to the trunk,
@@ -13,6 +13,7 @@
* they apply.
*/
#include <_ansi.h>
+#include <unistd.h>
#ifndef NULL
# define NULL 0
@@ -28,4 +29,5 @@ extern char _end[]; /* _end is set in the linker command file */
/* only one prcess support, as this is OS dependant */
#define __MYPID 1
+int outbyte (char);
@@ -14,6 +14,8 @@
*/
#include "glue.h"
+extern void print (char *ptr);
+
/*
* putnum -- print a 32 bit number in hex
*/
@@ -22,10 +22,11 @@ extern char inbyte (void);
*/
int
read (int fd,
- char *buf,
- int nbytes)
+ void *buf_,
+ size_t nbytes)
{
int i = 0;
+ char *buf = buf_;
for (i = 0; i < nbytes; i++) {
*(buf + i) = inbyte();
@@ -27,9 +27,8 @@ char *heap_ptr;
* RAM. We just increment a pointer in what's
* left of memory on the board.
*/
-char *
-sbrk (nbytes)
- int nbytes;
+void *
+sbrk (ptrdiff_t nbytes)
{
char *base;
@@ -20,7 +20,7 @@
* we just return an error.
*/
int
-unlink (char * path)
+unlink (const char * path)
{
errno = EIO;
return (-1);
@@ -23,10 +23,11 @@ extern int outbyte (char x);
*/
int
write (int fd,
- char *buf,
- int nbytes)
+ const void *buf_,
+ size_t nbytes)
{
int i;
+ const char *buf = buf_;
for (i = 0; i < nbytes; i++) {
if (*(buf + i) == '\n') {