Re: incompatible integer to pointer conversion

From: Chris <bsd-lists_at_bsdforge.com>
Date: Thu, 23 May 2024 22:09:05 UTC
On 2024-05-23 14:50, Brooks Davis wrote:
> On Thu, May 23, 2024 at 02:40:59PM -0700, Chris wrote:
>> Sorry, this is really a basic "programming in C 101" question.
>> But for the life of me, I'm not getting it. The source in
>> question:
>> 
>> LDAP *setup_ldap()
>> {
>> 	LDAP *ret;
>> 	int n;
>> 
>> 	if (debug) fprintf(stderr, "radldap: Setting up LDAP for %s, port %d\n",
>> 			   host, port);
>> 	if (!(ret = ldap_init(host, port))) {
>> 		fprintf(stderr, "radldap: Could not initialize LDAP!\n");
>> 		_exit(2);
>> 	}
>> 
>> Now *you* can probably already see the problem. But this is what's 
>> returned:
>> 
>> radldap.c:302:12: error: incompatible integer to pointer conversion 
>> assigning
>> to 'LDAP *' (aka 'struct ldap *') from 'int' [-Wint-conversion]
>>   302 |         if (!(ret = ldap_init(host, port))) {
>>       |                   ^ ~~~~~~~~~~~~~~~~~~~~~
>> 
>> Thanks in advance for any hints, or pointers.
>> 
> 
> Have you included ldap.h?

>  Are there any warnings about implicit declarations?
Yep. Loads of them. That's what I needed. I've got it now.

Thanks a million for the reply, Brooks.
> 
> -- Brooks

--Chris