• C

warning: passing arg 1 of `my_encryptIDEA` from incompatible pointer type

Hi,

I class myself as a noob (I guess you will agree when you see me code :) So please be gentle....

I have the following code that once I read my config file in, I want to encrypt the password etc. I am using sfl code from http://legacy.imatix.com/html/sfl/sfl.htm
When I compile, using gcc on solaris, I get the following warning: passing arg 1 of `my_encryptIDEA` from incompatible pointer type. Please could someone explain why and how to correct? Thank you.


const char *
my_encryptIDEA(char *buffer[])
{
	char
		key [] = "100110110111011010110";
	int
		len;
 
	len = strlen(buffer);
 
	if (crypt_encode ((byte *)buffer, (long) len,
                           CRYPT_IDEA, (byte *)key))
	{
		return base64_encode(buffer);
	}
  else
	{
		return NULL;
	}
}
 
How it is used:
configInfo->encryptedKey = strdup(my_encryptIDEA(Parameter));

Open in new window

LVL 3
smurffAsked:
Who is Participating?
 
Kent OlsenData Warehouse Architect / DBACommented:
Hi smruff,

The message is a warning that says that the function is expecting a pointer to a particular kind of object (in this case a pointer to a character array) and you're actually passing a pointer to something else (I suspect a pointer to a string).

It looks like the function doesn't really need a pointer to an array, just an array.  Try changing the header to:

  my_encryptIDEA (char *buffer)


Good Luck,
Kent
0
 
smurffAuthor Commented:
Wow, went to lunch, came back and the answer was there. Thank you so much.
Kind regards
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.