sl@0: /* FPUTS.C
sl@0:  * 
sl@0:  * Portions Copyright (c) 1990-1999 Nokia Corporation and/or its subsidiary(-ies).
sl@0:  * All rights reserved.
sl@0:  */
sl@0: 
sl@0: /*
sl@0:  * Copyright (c) 1990 The Regents of the University of California.
sl@0:  * All rights reserved.
sl@0:  *
sl@0:  * Redistribution and use in source and binary forms are permitted
sl@0:  * provided that the above copyright notice and this paragraph are
sl@0:  * duplicated in all such forms and that any documentation,
sl@0:  * advertising materials, and other materials related to such
sl@0:  * distribution and use acknowledge that the software was developed
sl@0:  * by the University of California, Berkeley.  The name of the
sl@0:  * University may not be used to endorse or promote products derived
sl@0:  * from this software without specific prior written permission.
sl@0:  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
sl@0:  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
sl@0:  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
sl@0:  */
sl@0: 
sl@0: /*
sl@0: FUNCTION
sl@0: <<fputs>>---write a character string in a file or stream
sl@0: 
sl@0: INDEX
sl@0: 	fputs
sl@0: 
sl@0: ANSI_SYNOPSIS
sl@0: 	#include <stdio.h>
sl@0: 	int fputs(const char *<[s]>, FILE *<[fp]>);
sl@0: 
sl@0: TRAD_SYNOPSIS
sl@0: 	#include <stdio.h>
sl@0: 	int fputs(<[s]>, <[fp]>)
sl@0: 	char *<[s]>;
sl@0: 	FILE *<[fp]>;
sl@0: 
sl@0: DESCRIPTION
sl@0: <<fputs>> writes the string at <[s]> (but without the trailing null)
sl@0: to the file or stream identified by <[fp]>.
sl@0: 
sl@0: RETURNS
sl@0: If successful, the result is <<0>>; otherwise, the result is <<EOF>>.
sl@0: 
sl@0: PORTABILITY
sl@0: ANSI C requires <<fputs>>, but does not specify that the result on
sl@0: success must be <<0>>; any non-negative value is permitted.
sl@0: 
sl@0: Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
sl@0: <<lseek>>, <<read>>, <<sbrk>>, <<write>>.
sl@0: */
sl@0: 
sl@0: #include <stdio.h>
sl@0: #include <string.h>
sl@0: #include "FVWRITE.H"
sl@0: 
sl@0: 
sl@0: /**
sl@0: Write string to a stream.
sl@0: Writes string to the current position of the given stream.
sl@0: On error the function returns EOF.
sl@0: @param s Null-terminated string to be written. 
sl@0: @param fp pointer to an open file.
sl@0: */
sl@0: EXPORT_C int
sl@0: fputs (char const *s, FILE * fp)
sl@0: {
sl@0:   struct __suio uio;
sl@0:   struct __siov iov;
sl@0: 
sl@0:   iov.iov_base = s;
sl@0:   iov.iov_len = uio.uio_resid = strlen (s);
sl@0:   uio.uio_iov = &iov;
sl@0:   uio.uio_iovcnt = 1;
sl@0:   return __sfvwrite (fp, &uio);
sl@0: }