~ubuntu-branches/ubuntu/precise/parted/precise

« back to all changes in this revision

Viewing changes to gnulib/lib/fwritable.c

  • Committer: Bazaar Package Importer
  • Author(s): Otavio Salvador
  • Date: 2010-02-06 16:39:19 UTC
  • mfrom: (1.1.5 upstream)
  • mto: (7.3.2 experimental)
  • mto: This revision was merged to the branch mainline in revision 48.
  • Revision ID: james.westby@ubuntu.com-20100206163919-nsxr2vtchk0ecabf
Tags: upstream-2.1
ImportĀ upstreamĀ versionĀ 2.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Retrieve information about a FILE stream.
2
 
   Copyright (C) 2007 Free Software Foundation, Inc.
3
 
 
4
 
   This program is free software; you can redistribute it and/or modify
5
 
   it under the terms of the GNU General Public License as published by
6
 
   the Free Software Foundation; either version 2, or (at your option)
7
 
   any later version.
8
 
 
9
 
   This program is distributed in the hope that it will be useful,
10
 
   but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
 
   GNU General Public License for more details.
13
 
 
14
 
   You should have received a copy of the GNU General Public License along
15
 
   with this program; if not, write to the Free Software Foundation,
16
 
   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
17
 
 
18
 
#include <config.h>
19
 
 
20
 
/* Specification.  */
21
 
#include "fwritable.h"
22
 
 
23
 
bool
24
 
fwritable (FILE *fp)
25
 
{
26
 
  /* Most systems provide FILE as a struct and the necessary bitmask in
27
 
     <stdio.h>, because they need it for implementing getc() and putc() as
28
 
     fast macros.  */
29
 
#if defined _IO_ferror_unlocked     /* GNU libc, BeOS */
30
 
  return (fp->_flags & _IO_NO_WRITES) == 0;
31
 
#elif defined __sferror             /* FreeBSD, NetBSD, OpenBSD, MacOS X, Cygwin */
32
 
  return (fp->_flags & (__SRW | __SWR)) != 0;
33
 
#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, mingw */
34
 
  return (fp->_flag & (_IORW | _IOWRT)) != 0;
35
 
#else
36
 
 #error "Please port gnulib fwritable.c to your platform!"
37
 
#endif
38
 
}