Diff for /embedaddon/libiconv/srclib/binary-io.h between versions 1.1.1.1 and 1.1.1.3

version 1.1.1.1, 2012/02/21 22:57:48 version 1.1.1.3, 2021/03/17 13:38:46
Line 1 Line 1
 /* Binary mode I/O.  /* Binary mode I/O.
   Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.   Copyright (C) 2001, 2003, 2005, 2008-2019 Free Software Foundation, Inc.
   
    This program is free software: you can redistribute it and/or modify     This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by     it under the terms of the GNU General Public License as published by
Line 12 Line 12
    GNU General Public License for more details.     GNU General Public License for more details.
   
    You should have received a copy of the GNU General Public License     You should have received a copy of the GNU General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
   
 #ifndef _BINARY_H  #ifndef _BINARY_H
 #define _BINARY_H  #define _BINARY_H
   
 /* For systems that distinguish between text and binary I/O.  /* For systems that distinguish between text and binary I/O.
   O_BINARY is usually declared in <fcntl.h>. */   O_BINARY is guaranteed by the gnulib <fcntl.h>. */
 #include <fcntl.h>  #include <fcntl.h>
   
 /* The MSVC7 <stdio.h> doesn't like to be included after '#define fileno ...',  /* The MSVC7 <stdio.h> doesn't like to be included after '#define fileno ...',
    so we include it here first.  */     so we include it here first.  */
 #include <stdio.h>  #include <stdio.h>
   
#if !defined O_BINARY && defined _O_BINARY#ifndef _GL_INLINE_HEADER_BEGIN
  /* For MSC-compatible compilers.  */ #error "Please include config.h first."
# define O_BINARY _O_BINARY 
# define O_TEXT _O_TEXT 
 #endif  #endif
#if defined __BEOS__ || defined __HAIKU___GL_INLINE_HEADER_BEGIN
  /* BeOS 5 and Haiku have O_BINARY and O_TEXT, but they have no effect.  */#ifndef BINARY_IO_INLINE
# undef O_BINARY# define BINARY_IO_INLINE _GL_INLINE
# undef O_TEXT 
 #endif  #endif
   
 #if O_BINARY  #if O_BINARY
 # if defined __EMX__ || defined __DJGPP__ || defined __CYGWIN__  # if defined __EMX__ || defined __DJGPP__ || defined __CYGWIN__
 #  include <io.h> /* declares setmode() */  #  include <io.h> /* declares setmode() */
   #  define __gl_setmode setmode
 # else  # else
#  define setmode _setmode#  define __gl_setmode _setmode
 #  undef fileno  #  undef fileno
 #  define fileno _fileno  #  define fileno _fileno
 # endif  # endif
 # ifdef __DJGPP__  
 #  include <unistd.h> /* declares isatty() */  
 #  /* Avoid putting stdin/stdout in binary mode if it is connected to the  
 #     console, because that would make it impossible for the user to  
 #     interrupt the program through Ctrl-C or Ctrl-Break.  */  
 #  define SET_BINARY(fd) (!isatty (fd) ? (setmode (fd, O_BINARY), 0) : 0)  
 # else  
 #  define SET_BINARY(fd) setmode (fd, O_BINARY)  
 # endif  
 #else  #else
  /* On reasonable systems, binary I/O is the default.  */  /* On reasonable systems, binary I/O is the only choice.  */
# undef O_BINARY  /* Use a function rather than a macro, to avoid gcc warnings
# define O_BINARY 0     "warning: statement with no effect".  */
# define SET_BINARY(fd) /* nothing */BINARY_IO_INLINE int
 __gl_setmode (int fd _GL_UNUSED, int mode _GL_UNUSED)
 {
   return O_BINARY;
 }
 #endif  #endif
   
   #if defined __DJGPP__ || defined __EMX__
   extern int __gl_setmode_check (int);
   #else
   BINARY_IO_INLINE int
   __gl_setmode_check (int fd _GL_UNUSED) { return 0; }
   #endif
   
   /* Set FD's mode to MODE, which should be either O_TEXT or O_BINARY.
      Return the old mode if successful, -1 (setting errno) on failure.
      Ordinarily this function would be called 'setmode', since that is
      its name on MS-Windows, but it is called 'set_binary_mode' here
      to avoid colliding with a BSD function of another name.  */
   
   BINARY_IO_INLINE int
   set_binary_mode (int fd, int mode)
   {
     int r = __gl_setmode_check (fd);
     return r != 0 ? r : __gl_setmode (fd, mode);
   }
   
   /* This macro is obsolescent.  */
   #define SET_BINARY(fd) ((void) set_binary_mode (fd, O_BINARY))
   
   _GL_INLINE_HEADER_END
   
 #endif /* _BINARY_H */  #endif /* _BINARY_H */

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>