[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: SCO complitation error slap.h

Stephen Collier writes:

> #define f_next          f_up.f_unext
> <<<<<THIS IS A CONFLICT>>>>>
> (...)
>  struct filter * f_up.f_unext ;    <<<THE EXPANSION THAT THE COMPILER DIDN'T
> LIKE>>>
> } Filter;                          <<< Yes there is a space before the f_up.
> I can only assume that this was not supposed to happen and the name confict
> is a problem. I have recompiled commenting out the references to
> <sys/files.h> in slapd/repl.c slapd/lock.c and slurpd/lock.c. It seems to
> complile OK.

I expect sys/file.h is there because some hosts need it.
I imagine the patch below would be better for now.
Does it work, with the old `#include <sys/file.h>'s in place?

*** servers/slapd/slap.h~	Fri Aug 21 06:33:42 1998
--- servers/slapd/slap.h	Sat Oct 31 13:49:00 1998
*** 15,18 ****
--- 15,21 ----
  #include "lthread.h"
  #include "ldif.h"
+ #ifdef f_next
+ #undef f_next /* name conflict between sys/file.h on SCO and struct filter */
+ #endif
  #define DN_DNS	0

Later we should rename f_* to something like flt_*, though that'll break
slapd backends that use struct filter.