The macro offsetof is required by the C89 standard to be defined in
stddef.h and remains in newer standards. The macro XtOffsetOf is
non-standard that is as far as I can tell a part of the X Toolkit
Intrinsics or Xlib.
Does anyone know the reasons why we are using the non-standard macro
instead of the standard one?
Explained here: http://lxr.php.net/xref/PHP_TRUNK/main/php.h#415
The macro offsetof is required by the C89 standard to be defined in
stddef.h and remains in newer standards. The macro XtOffsetOf is
non-standard that is as far as I can tell a part of the X Toolkit
Intrinsics or Xlib.Does anyone know the reasons why we are using the non-standard macro
instead of the standard one?
Explained here: http://lxr.php.net/xref/PHP_TRUNK/main/php.h#415
The macro offsetof is required by the C89 standard to be defined in
stddef.h and remains in newer standards. The macro XtOffsetOf is
non-standard that is as far as I can tell a part of the X Toolkit
Intrinsics or Xlib.Does anyone know the reasons why we are using the non-standard macro
instead of the standard one?
Thanks, Joe. However, that code just explains why are macros are that
way. It doesn't justify the use of XtOffsetOf over offsetof, just how
the ifdefs were obtained.
The comment seems to suggest we copied the XtOffset stuff from apache
source (which copied it from X), verbatim, is that not explanation enough ?
Is there any particular reason to change it ?
Cheers
Joe
On Thu, Jun 4, 2015 at 11:58 PM, Joe Watkins pthreads@pthreads.org
wrote:Explained here: http://lxr.php.net/xref/PHP_TRUNK/main/php.h#415
The macro offsetof is required by the C89 standard to be defined in
stddef.h and remains in newer standards. The macro XtOffsetOf is
non-standard that is as far as I can tell a part of the X Toolkit
Intrinsics or Xlib.Does anyone know the reasons why we are using the non-standard macro
instead of the standard one?Thanks, Joe. However, that code just explains why are macros are that
way. It doesn't justify the use of XtOffsetOf over offsetof, just how
the ifdefs were obtained.
Joe Watkins wrote on 05/06/2015 15:42:
The comment seems to suggest we copied the XtOffset stuff from apache
source (which copied it from X), verbatim, is that not explanation enough ?
It's not an explanation of why it was copied - i.e. why it was needed
in the first place. It's not the implementation that Levi is
questioning, but the existence of a custom macro at all.
Levi Morrison wrote on 05/06/2015 14:58:
Explained here: http://lxr.php.net/xref/PHP_TRUNK/main/php.h#415
The macro offsetof is required by the C89 standard to be defined in
stddef.h and remains in newer standards. The macro XtOffsetOf is
non-standard that is as far as I can tell a part of the X Toolkit
Intrinsics or Xlib.Does anyone know the reasons why we are using the non-standard macro
instead of the standard one?
Thanks, Joe. However, that code just explains why are macros are that
way. It doesn't justify the use of XtOffsetOf over offsetof, just how
the ifdefs were obtained.
If I read it right, it's just a polyfill - if offsetof is defined,
XtOffsetOf is just made an alias of it on line 444.
Presumably, contra the standard, there are some implementations that
don't (or didn't) define it.
Regards,
Rowan Collins
[IMSoP]