1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/ossrv/genericopenlibs/cstdlib/LSTDIO/REWIND.C Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,71 @@
1.4 +/* REWIND.C
1.5 + *
1.6 + * Portions Copyright (c) 1990-1999 Nokia Corporation and/or its subsidiary(-ies).
1.7 + * All rights reserved.
1.8 + */
1.9 +
1.10 +/*
1.11 + * Copyright (c) 1990 The Regents of the University of California.
1.12 + * All rights reserved.
1.13 + *
1.14 + * Redistribution and use in source and binary forms are permitted
1.15 + * provided that the above copyright notice and this paragraph are
1.16 + * duplicated in all such forms and that any documentation,
1.17 + * advertising materials, and other materials related to such
1.18 + * distribution and use acknowledge that the software was developed
1.19 + * by the University of California, Berkeley. The name of the
1.20 + * University may not be used to endorse or promote products derived
1.21 + * from this software without specific prior written permission.
1.22 + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
1.23 + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
1.24 + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
1.25 + */
1.26 +
1.27 +/*
1.28 +FUNCTION
1.29 +<<rewind>>---reinitialize a file or stream
1.30 +
1.31 +INDEX
1.32 + rewind
1.33 +
1.34 +ANSI_SYNOPSIS
1.35 + #include <stdio.h>
1.36 + void rewind(FILE *<[fp]>);
1.37 +
1.38 +TRAD_SYNOPSIS
1.39 + #include <stdio.h>
1.40 + void rewind(<[fp]>)
1.41 + FILE *<[fp]>;
1.42 +
1.43 +DESCRIPTION
1.44 +<<rewind>> returns the file position indicator (if any) for the file
1.45 +or stream identified by <[fp]> to the beginning of the file. It also
1.46 +clears any error indicator and flushes any pending output.
1.47 +
1.48 +RETURNS
1.49 +<<rewind>> does not return a result.
1.50 +
1.51 +PORTABILITY
1.52 +ANSI C requires <<rewind>>.
1.53 +
1.54 +No supporting OS subroutines are required.
1.55 +*/
1.56 +
1.57 +#include <stdio.h>
1.58 +/**
1.59 +Repositions the file pointer to the beginning of a stream.
1.60 +Sets the file pointer associated with the stream
1.61 +to the beginning of the file.
1.62 +@param Pointer to an open file.
1.63 +*/
1.64 +EXPORT_C void
1.65 +rewind (FILE * fp)
1.66 +{
1.67 + (void) fflush (fp);
1.68 + clearerr (fp);
1.69 + if (fp->_seek == NULL)
1.70 + return; /* ??? */
1.71 + fp->_r = 0;
1.72 + fp->_p = fp->_bf._base;
1.73 + (void) (*fp->_seek) (fp->_cookie, (fpos_t) 0, SEEK_SET);
1.74 +}