1. It seems that XrdPosix.hh and XrdPosixXrootd.h both have the same
#if !defined value at the top of the file. They really ought to be
separate.
2. To include XrdPosix.hh one must include a bunch of system
includes. I think
#include <sys/types.h>
#include <dirent.h>
#include <fcntl.h>
would just about do it.
3. If I include XrdPosix.hh it commits evil by defining macros for
read, write, open, etc, so my code
int Foo::read(void * buffer, size_t sz)
{
return XrdPosix_read(fd_, buffer, sz);
}
cannot compile because it tries to do a macro substition on the read
in Foo::read.
This is evil. The macros should be in a separate file from the
XrdPosix_XXX definitions so that only those that really want them
actually get them.
--
Gregory J. Sharp email: [log in to unmask]
Wilson Synchrotron Laboratory url: http://www.lepp.cornell.edu/
~gregor
Cornell University ph: +1 607 255 4882
Ithaca, NY 14853 fax: +1 607 255 8062
|