2002-05-23 Gareth Pearce <tilps@hotmail.com>
* libc/stdio/Makefile.am: Modify to add setbuffer.c and setlinebuf.c.
        * libc/stdio/Makefile.in: Regenerated.
        * libc/stdio/setbuffer.c: New file.
        * libc/stdio/setlinebuf.c: New file.
			
			
This commit is contained in:
		| @@ -1,3 +1,10 @@ | ||||
| 2002-05-23  Gareth Pearce  <tilps@hotmail.com> | ||||
|  | ||||
|         * libc/stdio/Makefile.am: Modify to add setbuffer.c and setlinebuf.c. | ||||
|         * libc/stdio/Makefile.in: Regenerated. | ||||
|         * libc/stdio/setbuffer.c: New file. | ||||
|         * libc/stdio/setlinebuf.c: New file. | ||||
|  | ||||
| 2002-05-23  Jeff Johnston  <jjohnstn@redhat.com> | ||||
|  | ||||
|         * libc/sys/linux/Makefile.am: Add resource.c. | ||||
|   | ||||
| @@ -55,6 +55,8 @@ LIB_SOURCES = \ | ||||
| 	rget.c 				\ | ||||
| 	scanf.c 			\ | ||||
| 	setbuf.c 			\ | ||||
| 	setbuffer.c 			\ | ||||
| 	setlinebuf.c 			\ | ||||
| 	setvbuf.c 			\ | ||||
| 	siprintf.c 			\ | ||||
| 	snprintf.c			\ | ||||
| @@ -142,6 +144,8 @@ CHEWOUT_FILES = \ | ||||
| 	rename.def		\ | ||||
| 	rewind.def		\ | ||||
| 	setbuf.def		\ | ||||
| 	setbuffer.def		\ | ||||
| 	setlinebuf.def		\ | ||||
| 	setvbuf.def		\ | ||||
| 	siprintf.def		\ | ||||
| 	sprintf.def		\ | ||||
|   | ||||
| @@ -153,6 +153,8 @@ LIB_SOURCES = \ | ||||
| 	rget.c 				\ | ||||
| 	scanf.c 			\ | ||||
| 	setbuf.c 			\ | ||||
| 	setbuffer.c 			\ | ||||
| 	setlinebuf.c 			\ | ||||
| 	setvbuf.c 			\ | ||||
| 	siprintf.c 			\ | ||||
| 	snprintf.c			\ | ||||
| @@ -227,6 +229,8 @@ CHEWOUT_FILES = \ | ||||
| 	rename.def		\ | ||||
| 	rewind.def		\ | ||||
| 	setbuf.def		\ | ||||
| 	setbuffer.def		\ | ||||
| 	setlinebuf.def		\ | ||||
| 	setvbuf.def		\ | ||||
| 	siprintf.def		\ | ||||
| 	sprintf.def		\ | ||||
| @@ -263,10 +267,11 @@ LIBS = @LIBS@ | ||||
| @USE_LIBTOOL_FALSE@iprintf.o makebuf.o mktemp.o perror.o printf.o \ | ||||
| @USE_LIBTOOL_FALSE@putc.o putchar.o putc_u.o putchar_u.o puts.o putw.o \ | ||||
| @USE_LIBTOOL_FALSE@refill.o remove.o rename.o rewind.o rget.o scanf.o \ | ||||
| @USE_LIBTOOL_FALSE@setbuf.o setvbuf.o siprintf.o snprintf.o sprintf.o \ | ||||
| @USE_LIBTOOL_FALSE@sscanf.o stdio.o tmpfile.o tmpnam.o ungetc.o \ | ||||
| @USE_LIBTOOL_FALSE@vfscanf.o vprintf.o vscanf.o vsnprintf.o vsprintf.o \ | ||||
| @USE_LIBTOOL_FALSE@vsscanf.o wbuf.o wsetup.o | ||||
| @USE_LIBTOOL_FALSE@setbuf.o setbuffer.o setlinebuf.o setvbuf.o \ | ||||
| @USE_LIBTOOL_FALSE@siprintf.o snprintf.o sprintf.o sscanf.o stdio.o \ | ||||
| @USE_LIBTOOL_FALSE@tmpfile.o tmpnam.o ungetc.o vfscanf.o vprintf.o \ | ||||
| @USE_LIBTOOL_FALSE@vscanf.o vsnprintf.o vsprintf.o vsscanf.o wbuf.o \ | ||||
| @USE_LIBTOOL_FALSE@wsetup.o | ||||
| LTLIBRARIES =  $(noinst_LTLIBRARIES) | ||||
|  | ||||
| @USE_LIBTOOL_TRUE@libstdio_la_DEPENDENCIES =  vfiprintf.$(oext) \ | ||||
| @@ -281,10 +286,11 @@ LTLIBRARIES =  $(noinst_LTLIBRARIES) | ||||
| @USE_LIBTOOL_TRUE@makebuf.lo mktemp.lo perror.lo printf.lo putc.lo \ | ||||
| @USE_LIBTOOL_TRUE@putchar.lo putc_u.lo putchar_u.lo puts.lo putw.lo \ | ||||
| @USE_LIBTOOL_TRUE@refill.lo remove.lo rename.lo rewind.lo rget.lo \ | ||||
| @USE_LIBTOOL_TRUE@scanf.lo setbuf.lo setvbuf.lo siprintf.lo snprintf.lo \ | ||||
| @USE_LIBTOOL_TRUE@sprintf.lo sscanf.lo stdio.lo tmpfile.lo tmpnam.lo \ | ||||
| @USE_LIBTOOL_TRUE@ungetc.lo vfscanf.lo vprintf.lo vscanf.lo \ | ||||
| @USE_LIBTOOL_TRUE@vsnprintf.lo vsprintf.lo vsscanf.lo wbuf.lo wsetup.lo | ||||
| @USE_LIBTOOL_TRUE@scanf.lo setbuf.lo setbuffer.lo setlinebuf.lo \ | ||||
| @USE_LIBTOOL_TRUE@setvbuf.lo siprintf.lo snprintf.lo sprintf.lo \ | ||||
| @USE_LIBTOOL_TRUE@sscanf.lo stdio.lo tmpfile.lo tmpnam.lo ungetc.lo \ | ||||
| @USE_LIBTOOL_TRUE@vfscanf.lo vprintf.lo vscanf.lo vsnprintf.lo \ | ||||
| @USE_LIBTOOL_TRUE@vsprintf.lo vsscanf.lo wbuf.lo wsetup.lo | ||||
| CFLAGS = @CFLAGS@ | ||||
| COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) | ||||
| LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) | ||||
|   | ||||
							
								
								
									
										118
									
								
								newlib/libc/stdio/setbuffer.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										118
									
								
								newlib/libc/stdio/setbuffer.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,118 @@ | ||||
| /* | ||||
|  * Copyright (c) 1990 The Regents of the University of California. | ||||
|  * All rights reserved. | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms are permitted | ||||
|  * provided that the above copyright notice and this paragraph are | ||||
|  * duplicated in all such forms and that any documentation, | ||||
|  * advertising materials, and other materials related to such | ||||
|  * distribution and use acknowledge that the software was developed | ||||
|  * by the University of California, Berkeley.  The name of the | ||||
|  * University may not be used to endorse or promote products derived | ||||
|  * from this software without specific prior written permission. | ||||
|  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR | ||||
|  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED | ||||
|  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||||
|  */ | ||||
|  | ||||
| /*  | ||||
| Modified copy of setbuf.c to support the setbuffer function | ||||
| defined as part of BSD. | ||||
| Modifications by Gareth Pearce, 2001. | ||||
| */ | ||||
|  | ||||
| /* | ||||
| FUNCTION | ||||
| <<setbuffer>>---specify full buffering for a file or stream with size | ||||
|  | ||||
| INDEX | ||||
| 	setbuffer | ||||
|  | ||||
| ANSI_SYNOPSIS | ||||
| 	#include <stdio.h> | ||||
| 	void setbuffer(FILE *<[fp]>, char *<[buf]>, int <[size]>); | ||||
|  | ||||
| TRAD_SYNOPSIS | ||||
| 	#include <stdio.h> | ||||
| 	void setbuffer(<[fp]>, <[buf]>, <[size]>) | ||||
| 	FILE *<[fp]>; | ||||
| 	char *<[buf]>; | ||||
| 	int <[size]>; | ||||
|  | ||||
| DESCRIPTION | ||||
| <<setbuffer>> specifies that output to the file or stream identified by | ||||
| <[fp]> should be fully buffered.  All output for this file will go to a | ||||
| buffer (of size <[size]>).  Output will be passed on to the host system | ||||
| only when the buffer is full, or when an input operation intervenes. | ||||
|  | ||||
| You may, if you wish, supply your own buffer by passing a pointer to | ||||
| it as the argument <[buf]>.  It must have size <[size]>.  You can | ||||
| also use <<NULL>> as the value of <[buf]>, to signal that the | ||||
| <<setbuffer>> function is to allocate the buffer. | ||||
|  | ||||
| WARNINGS | ||||
| You may only use <<setbuffer>> before performing any file operation | ||||
| other than opening the file. | ||||
|  | ||||
| If you supply a non-null <[buf]>, you must ensure that the associated | ||||
| storage continues to be available until you close the stream | ||||
| identified by <[fp]>. | ||||
|  | ||||
| RETURNS | ||||
| <<setbuffer>> does not return a result. | ||||
|  | ||||
| PORTABILITY | ||||
| This function comes from BSD not ANSI or POSIX. | ||||
|  | ||||
| Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>, | ||||
| <<lseek>>, <<read>>, <<sbrk>>, <<write>>. | ||||
|  | ||||
|  | ||||
| FUNCTION | ||||
|  | ||||
| <<setlinebuf>>---specify line buffering for a file or stream | ||||
|  | ||||
| INDEX | ||||
| 	setlinebuf | ||||
|  | ||||
| ANSI_SYNOPSIS | ||||
| 	#include <stdio.h> | ||||
| 	void setlinebuf(FILE *<[fp]>); | ||||
|  | ||||
| TRAD_SYNOPSIS | ||||
| 	#include <stdio.h> | ||||
| 	void setlinebuf(<[fp]>) | ||||
| 	FILE *<[fp]>; | ||||
|  | ||||
| DESCRIPTION | ||||
| <<setlinebuf>> specifies that output to the file or stream identified by | ||||
| <[fp]> should be line buffered.  This causes the file or stream to pass | ||||
| on output to the host system at every newline, as well as when the | ||||
| buffer is full, or when an input operation intervenes. | ||||
|  | ||||
| WARNINGS | ||||
| You may only use <<setlinebuf>> before performing any file operation | ||||
| other than opening the file. | ||||
|  | ||||
| RETURNS | ||||
| <<setlinebuf>> returns as per setvbuf. | ||||
|  | ||||
| PORTABILITY | ||||
| This function comes from BSD not ANSI or POSIX. | ||||
|  | ||||
| Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>, | ||||
| <<lseek>>, <<read>>, <<sbrk>>, <<write>>. | ||||
| */ | ||||
|  | ||||
| #include <_ansi.h> | ||||
| #include <stdio.h> | ||||
| #include "local.h" | ||||
|  | ||||
| void | ||||
| _DEFUN (setbuffer, (fp, buf, size), | ||||
| 	FILE * fp _AND | ||||
| 	char *buf _AND | ||||
| 	int size) | ||||
| { | ||||
|   (void) setvbuf (fp, buf, buf ? _IOFBF : _IONBF, (size_t) size); | ||||
| } | ||||
							
								
								
									
										70
									
								
								newlib/libc/stdio/setlinebuf.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								newlib/libc/stdio/setlinebuf.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,70 @@ | ||||
| /* | ||||
|  * Copyright (c) 1990 The Regents of the University of California. | ||||
|  * All rights reserved. | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms are permitted | ||||
|  * provided that the above copyright notice and this paragraph are | ||||
|  * duplicated in all such forms and that any documentation, | ||||
|  * advertising materials, and other materials related to such | ||||
|  * distribution and use acknowledge that the software was developed | ||||
|  * by the University of California, Berkeley.  The name of the | ||||
|  * University may not be used to endorse or promote products derived | ||||
|  * from this software without specific prior written permission. | ||||
|  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR | ||||
|  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED | ||||
|  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||||
|  */ | ||||
|  | ||||
| /*  | ||||
| Modified copy of setbuf.c to support setlinebuf function | ||||
| defined as part of BSD. | ||||
| Modifications by Gareth Pearce, 2001. | ||||
| */ | ||||
|  | ||||
| /* | ||||
| FUNCTION | ||||
|  | ||||
| <<setlinebuf>>---specify line buffering for a file or stream | ||||
|  | ||||
| INDEX | ||||
| 	setlinebuf | ||||
|  | ||||
| ANSI_SYNOPSIS | ||||
| 	#include <stdio.h> | ||||
| 	void setlinebuf(FILE *<[fp]>); | ||||
|  | ||||
| TRAD_SYNOPSIS | ||||
| 	#include <stdio.h> | ||||
| 	void setlinebuf(<[fp]>) | ||||
| 	FILE *<[fp]>; | ||||
|  | ||||
| DESCRIPTION | ||||
| <<setlinebuf>> specifies that output to the file or stream identified by | ||||
| <[fp]> should be line buffered.  This causes the file or stream to pass | ||||
| on output to the host system at every newline, as well as when the | ||||
| buffer is full, or when an input operation intervenes. | ||||
|  | ||||
| WARNINGS | ||||
| You may only use <<setlinebuf>> before performing any file operation | ||||
| other than opening the file. | ||||
|  | ||||
| RETURNS | ||||
| <<setlinebuf>> returns as per setvbuf. | ||||
|  | ||||
| PORTABILITY | ||||
| This function comes from BSD not ANSI or POSIX. | ||||
|  | ||||
| Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>, | ||||
| <<lseek>>, <<read>>, <<sbrk>>, <<write>>. | ||||
| */ | ||||
|  | ||||
| #include <_ansi.h> | ||||
| #include <stdio.h> | ||||
| #include "local.h" | ||||
|  | ||||
| int | ||||
| _DEFUN (setlinebuf, (fp), | ||||
| 	FILE * fp) | ||||
| { | ||||
|   return (setvbuf (fp, (char *) NULL, _IOLBF, (size_t) 0)); | ||||
| } | ||||
		Reference in New Issue
	
	Block a user