From 53c4df149163b2df172397ae18cd2e265dfd875b Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Sat, 2 Feb 2002 07:54:13 +0000 Subject: Several little additions and cleanups. Add getw() and putw(). Add in some missing header files (netipx/ipx.h include/lastlog.h include/sgtty.h include/sys/perm.h) -Erik --- libc/stdio/Makefile | 2 +- libc/stdio/getw.c | 36 ++++++++++++++++++++++++++++++++++++ libc/stdio/putw.c | 34 ++++++++++++++++++++++++++++++++++ libc/sysdeps/linux/common/syscalls.c | 16 ++++++++++++++++ 4 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 libc/stdio/getw.c create mode 100644 libc/stdio/putw.c (limited to 'libc') diff --git a/libc/stdio/Makefile b/libc/stdio/Makefile index 70e18986f..bbbc46664 100644 --- a/libc/stdio/Makefile +++ b/libc/stdio/Makefile @@ -40,7 +40,7 @@ MSRC3=scanf.c MOBJ3=scanf.o sscanf.o fscanf.o vscanf.o vsscanf.o vfscanf.o CSRC=popen.c perror.c remove.c getdelim.c getline.c tmpfile.c tmpnam.c \ - tmpnam_r.c tempnam.c ctermid.c + tmpnam_r.c tempnam.c ctermid.c getw.c putw.c COBJS=$(patsubst %.c,%.o, $(CSRC)) OBJS=$(MOBJ) $(MOBJ2) $(MOBJ3) $(COBJS) diff --git a/libc/stdio/getw.c b/libc/stdio/getw.c new file mode 100644 index 000000000..75e73667f --- /dev/null +++ b/libc/stdio/getw.c @@ -0,0 +1,36 @@ +/* Copyright (C) 1991, 1997, 1998 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include + +#ifdef USE_IN_LIBIO +# include +# define fread(p, m, n, s) _IO_fread (p, m, n, s) +#endif + +/* Read a word (int) from STREAM. */ +int +getw (FILE *stream) +{ + int w; + + /* Is there a better way? */ + if (fread ((void *) &w, sizeof (w), 1, stream) != 1) + return EOF; + return w; +} diff --git a/libc/stdio/putw.c b/libc/stdio/putw.c new file mode 100644 index 000000000..d1b68ab27 --- /dev/null +++ b/libc/stdio/putw.c @@ -0,0 +1,34 @@ +/* Copyright (C) 1991, 1997, 1998 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include + +#ifdef USE_IN_LIBIO +# include +# define fwrite(p, n, m, s) _IO_fwrite (p, n, m, s) +#endif + +/* Write the word (int) W to STREAM. */ +int +putw (int w, FILE *stream) +{ + /* Is there a better way? */ + if (fwrite ((const void *) &w, sizeof (w), 1, stream) < 1) + return EOF; + return 0; +} diff --git a/libc/sysdeps/linux/common/syscalls.c b/libc/sysdeps/linux/common/syscalls.c index 92d6265be..b0cf4232f 100644 --- a/libc/sysdeps/linux/common/syscalls.c +++ b/libc/sysdeps/linux/common/syscalls.c @@ -268,8 +268,24 @@ _syscall2(int, utime, const char *, filename, const struct utimbuf *, buf); #endif //#define __NR_stty 31 +#ifdef L_stty +#include +int stty (int __fd, __const struct sgttyb *__params); +{ + __set_errno(ENOSYS); + return -1; +} +#endif //#define __NR_gtty 32 +#ifdef L_gtty +#include +int gtty (int __fd, struct sgttyb *__params) +{ + __set_errno(ENOSYS); + return -1; +} +#endif //#define __NR_access 33 #ifdef L_access -- cgit v1.2.3