Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. /*
  2.  * Copyright (c) 1990 The Regents of the University of California.
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms are permitted
  6.  * provided that the above copyright notice and this paragraph are
  7.  * duplicated in all such forms and that any documentation,
  8.  * advertising materials, and other materials related to such
  9.  * distribution and use acknowledge that the software was developed
  10.  * by the University of California, Berkeley.  The name of the
  11.  * University may not be used to endorse or promote products derived
  12.  * from this software without specific prior written permission.
  13.  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  14.  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  15.  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  16.  */
  17.  
  18. /*
  19. FUNCTION
  20. <<ferror>>---test whether read/write error has occurred
  21.  
  22. INDEX
  23.         ferror
  24.  
  25. ANSI_SYNOPSIS
  26.         #include <stdio.h>
  27.         int ferror(FILE *<[fp]>);
  28.  
  29. TRAD_SYNOPSIS
  30.         #include <stdio.h>
  31.         int ferror(<[fp]>)
  32.         FILE *<[fp]>;
  33.  
  34. DESCRIPTION
  35. The <<stdio>> functions maintain an error indicator with each file
  36. pointer <[fp]>, to record whether any read or write errors have
  37. occurred on the associated file or stream.
  38. Use <<ferror>> to query this indicator.
  39.  
  40. See <<clearerr>> to reset the error indicator.
  41.  
  42. RETURNS
  43. <<ferror>> returns <<0>> if no errors have occurred; it returns a
  44. nonzero value otherwise.
  45.  
  46. PORTABILITY
  47. ANSI C requires <<ferror>>.
  48.  
  49. No supporting OS subroutines are required.
  50. */
  51.  
  52. #if defined(LIBC_SCCS) && !defined(lint)
  53. static char sccsid[] = "%W% (Berkeley) %G%";
  54. #endif /* LIBC_SCCS and not lint */
  55.  
  56. #include <_ansi.h>
  57. #include <stdio.h>
  58. #include "local.h"
  59.  
  60. /* A subroutine version of the macro ferror.  */
  61.  
  62. #undef ferror
  63.  
  64. int
  65. _DEFUN(ferror, (fp),
  66.        FILE * fp)
  67. {
  68.   int result;
  69.   CHECK_INIT(_REENT, fp);
  70.   _newlib_flockfile_start (fp);
  71.   result = __sferror (fp);
  72.   _newlib_flockfile_end (fp);
  73.   return result;
  74. }
  75.