char* vals0[2];
vals0[0] = "eric@ntu.ac.uk";
vals0[1] = NULL;
int rc = ldap_simple_bind_s(ld, user, pass);
LDAPMod *modM;
char *dn = "uflEduUniversityId=28833300,ou=People,dc=ufl,dc=edu";
modM->mod_op = LDAP_MOD_ADD;
modM->mod_type = "mail";
modM->mod_values = vals0;
if((ldap_modify_s(ld, dn,&modM)) != LDAP_SUCCESS)
{
// FAIL
}
But still get the same error on the ldap_modify_s(ld, dn,&modM) command.
Cheers,
Ade
2009/4/27 Eli Bach<ebach2@gmail.com>:
On Apr 26, 2009, at 5:31 AM, Adrian St. John-Bee wrote:
char** vals0;
...
vals0[0] = "eric@ntu.ac.uk";
It looks like these two lines are your problem.
You are just defining vals0 as a pointer to a pointer, and then referencing
it as an array of pointers.
However, you don't allocate any memory to actually store any data into.
If you switched you're code to something like:
char* vals0[2];
vals0[0] = "eric@ntu.ac.uk";
vals0[1] = NULL;
I have no comment on whether you are using the ldap api's correctly or not.