- ssyn->ssyn_flags = flags;
- ssyn->ssyn_validate = validate;
- ssyn->ssyn_ber2str = ber2str;
- ssyn->ssyn_str2ber = str2ber;
+ AC_MEMCPY( &ssyn->ssyn_syn, syn, sizeof(LDAPSyntax) );
+
+ ssyn->ssyn_next = NULL;
+
+ /*
+ * note: ssyn_bvoid uses the same memory of ssyn_syn.syn_oid;
+ * ssyn_oidlen is #defined as ssyn_bvoid.bv_len
+ */
+ ssyn->ssyn_bvoid.bv_val = ssyn->ssyn_syn.syn_oid;
+ ssyn->ssyn_oidlen = strlen(syn->syn_oid);
+ ssyn->ssyn_flags = def->sd_flags;
+ ssyn->ssyn_validate = def->sd_validate;
+ ssyn->ssyn_normalize = def->sd_normalize;
+ ssyn->ssyn_pretty = def->sd_pretty;