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

Reply via email to