Moin!
In ldap.h ist folgende Struktur definiert:
typedef struct ldapmod {
int mod_op;
#define LDAP_MOD_OP (0x0007)
#define LDAP_MOD_ADD (0x0000)
#define LDAP_MOD_DELETE (0x0001)
#define LDAP_MOD_REPLACE (0x0002)
#define LDAP_MOD_INCREMENT (0x0003) /* OpenLDAP extension */
#define LDAP_MOD_BVALUES (0x0080)
/* IMPORTANT: do not use code 0x1000 (or above),
* it is used internally by the backends!
* (see ldap/servers/slapd/slap.h)
*/
char *mod_type;
union mod_vals_u {
char **modv_strvals;
struct berval **modv_bvals;
} mod_vals;
#define mod_values mod_vals.modv_strvals
#define mod_bvalues mod_vals.modv_bvals
} LDAPMod;
Jetzt will ich folgendes machen:
char *my_string = malloc(256);
strnpy(my_string, "TEST", 256);
LDAPMod mod;
mod.mod_op = LDAP_MOD_ADD;
mod.mod_type = "cn";
mod.mod_values = {my_string, NULL}; /* <- */
Dies funktioniert aber nicht - der Compiler meldet in der Zeile <- immer einen Syntaxfehler, ich kann diesen jedoch nicht erkennen. Hat jemand eine Ahnung warum dies so ist?
Danke, Peter