Mercurial > hg > octave-nkf > gnulib-hg
changeset 9155:37e28ffbab9e
Add tentative support for Solaris/AMD64.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sun, 19 Aug 2007 09:37:45 +0000 |
parents | 0a3b6ec42c55 |
children | f37411290a94 |
files | ChangeLog lib/fbufmode.c lib/fseeko.c lib/fseterr.c |
diffstat | 4 files changed, 27 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-08-19 Bruno Haible <bruno@clisp.org> + + * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64. + * lib/fseeko.c (rpl_fseeko): Likewise. + * lib/fseterr.c (fseterr): Likewise. + 2007-08-19 Bruno Haible <bruno@clisp.org> * tests/test-lseek.c (main): Disable a test for BeOS.
--- a/lib/fbufmode.c +++ b/lib/fbufmode.c @@ -55,8 +55,15 @@ if (fp->_flag & _IOLBF) return _IOLBF; # endif -# if defined __sun && defined __sparc && defined _LP64 /* Solaris/SPARC 64-bit */ - return ((unsigned int *) fp) [9] & (_IONBF | _IOFBF); +# if defined __sun && defined _LP64 /* Solaris/{SPARC,AMD64} 64-bit */ +# define fp_ ((struct { unsigned char *_ptr; \ + unsigned char *_base; \ + unsigned char *_end; \ + long _cnt; \ + int _file; \ + unsigned int _flag; \ + } *) fp) + return fp_->_flag & (_IONBF | _IOFBF); # else if (fp->_flag & _IONBF) return _IONBF;
--- a/lib/fseeko.c +++ b/lib/fseeko.c @@ -71,11 +71,13 @@ : 0) && fp_ub._base == NULL) #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, mingw */ -# if defined __sun && defined __sparc && defined _LP64 /* Solaris/SPARC 64-bit */ +# if defined __sun && defined _LP64 /* Solaris/{SPARC,AMD64} 64-bit */ # define fp_ ((struct { unsigned char *_ptr; \ unsigned char *_base; \ unsigned char *_end; \ long _cnt; \ + int _file; \ + unsigned int _flag; \ } *) fp) if (fp_->_ptr == fp_->_base && (fp_->_ptr == NULL || fp_->_cnt == 0))
--- a/lib/fseterr.c +++ b/lib/fseterr.c @@ -33,8 +33,15 @@ #elif defined __sferror /* FreeBSD, NetBSD, OpenBSD, MacOS X, Cygwin */ fp->_flags |= __SERR; #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, mingw */ -# if defined __sun && defined __sparc && defined _LP64 /* Solaris/SPARC 64-bit */ - ((unsigned int *) fp) [9] |= _IOERR; +# if defined __sun && defined _LP64 /* Solaris/{SPARC,AMD64} 64-bit */ +# define fp_ ((struct { unsigned char *_ptr; \ + unsigned char *_base; \ + unsigned char *_end; \ + long _cnt; \ + int _file; \ + unsigned int _flag; \ + } *) fp) + fp_->_flag |= _IOERR; # else fp->_flag |= _IOERR; # endif