Hi,
When compiling qpopper 3.1.2 on AIX 4.2/4.3 using xlc, I get the following
error:
cc -c -I.. -I.. -I. -I../mmangle -I../common -g -DHAVE_CONFIG_H
-DAIX -DUNIX pop_auth.c -o pop_auth.o
"pop_auth.c", line 463.48: 1506-019 (S) Expecting an array or a pointer to
object type.
"pop_auth.c", line 464.30: 1506-019 (S) Expecting an array or a pointer to
object type.
or:
"pop_auth.c", line 463.48: 1506-519 (S) Index operator ([]) cannot be
applied to pointer to void.
"pop_auth.c", line 464.30: 1506-519 (S) Index operator ([]) cannot be
applied to pointer to void.
Lines 462--465 of pop_auth.c:
if ( ((ddatum.dsize <= i) ||
(ddatum.dsize != (i+strlen(&ddatum.dptr[i])+1))) ||
(decode64( &ddatum.dptr[i], ddatum.dsize-i ,
&p->scram_verifiers, &outlen)) ||
I think the reason is the following definition in /usr/include/ndbm.h:
typedef struct {
void *dptr;
size_t dsize;
} datum;
I'm not a C expert, but I think "&ddatum.dptr[i]" should be better changed to
"ddatum.dptr+i".
--
Thomas Henlich