[RFC] 9533: fourth iteration

Paolo Carlini pcarlini@unitus.it
Sun Mar 23 16:40:00 GMT 2003


Nathan Myers wrote:

>#if defined(_GLIBCPP_HAVE_S_ISREG) || defined(_GLIBCPP_HAVE_S_IFREG)
># ifdef _GLIBCPP_HAVE_S_ISREG
>#   #define _GLIBCPP_ISREG(x) S_ISREG(x)
># else
>#   #define _GLIBCPP_ISREG(x) (S_IFREG & (x))
># endif
>    // Regular files.
>    struct stat __buffer;
>    int __ret = fstat(this->fd(), &__buffer);
>    if (!__ret && _GLIBCPP_ISREG(__buffer.st_mode))
>      if (__stdio)
>	return __buffer.st_size - ftell(_M_cfile);
>      else
>	return __buffer.st_size - lseek(this->fd(), 0, ios_base::cur);
>#endif
>    return 0;
>  }
>
Great! Indeed, this is better, will produce another iteration.

>>About ioctl, I haven't been able to find an example of a modern
>>system having it in <ioctl.h>, not in <sys/ioctl.h> or <sys/filio.h>,
>>therefore I'm relying on the code which I stolen from libjava:
>>seems to work well there for a variety of different platforms.
>>    
>>
>It works on all the platforms I care about anyway.
>
Good (*).

Paolo.

(*) I have just ordered my own copies of Stevens, anyway.



More information about the Libstdc++ mailing list