diff options
| author | David M. Syzdek <david@syzdek.net> | 2019-11-26 16:18:06 -0900 |
|---|---|---|
| committer | David M. Syzdek <david@syzdek.net> | 2019-11-26 16:18:06 -0900 |
| commit | 96d37633238442133afaaf54bd0c7eb72b2990e0 (patch) | |
| tree | cc286954d57785a2d12fd6dae8b05bc9bc0b37b8 | |
| parent | 70144c5124fa07bfd12702e7b11b620e8f3e100d (diff) | |
| download | ldap-utils-96d37633238442133afaaf54bd0c7eb72b2990e0.tar.gz ldap-utils-96d37633238442133afaaf54bd0c7eb72b2990e0.tar.bz2 ldap-utils-96d37633238442133afaaf54bd0c7eb72b2990e0.tar.xz ldap-utils-96d37633238442133afaaf54bd0c7eb72b2990e0.zip | |
libldapschema: replacing ldapschema_objectclass_initialize()
Replacing ldapschema_objectclass_initialize() with commo function
ldapschema_model_initialize().
| -rw-r--r-- | lib/libldapschema/llexer.c | 31 | ||||
| -rw-r--r-- | lib/libldapschema/lmemory.c | 20 | ||||
| -rw-r--r-- | lib/libldapschema/lmemory.h | 4 |
3 files changed, 4 insertions, 51 deletions
diff --git a/lib/libldapschema/llexer.c b/lib/libldapschema/llexer.c index 66d7054..9c64991 100644 --- a/lib/libldapschema/llexer.c +++ b/lib/libldapschema/llexer.c | |||
| @@ -805,37 +805,17 @@ LDAPSchemaObjectclass * ldapschema_parse_objectclass(LDAPSchema * lsd, const str | |||
| 805 | int err; | 805 | int err; |
| 806 | LDAPSchemaObjectclass * objcls; | 806 | LDAPSchemaObjectclass * objcls; |
| 807 | 807 | ||
| 808 | objcls = NULL; | ||
| 809 | argv = NULL; | ||
| 810 | |||
| 811 | // initialize objectClass | ||
| 812 | if ((objcls = ldapschema_objectclass_initialize(lsd)) == NULL) | ||
| 813 | return(NULL); | ||
| 814 | |||
| 815 | // parses definition | 808 | // parses definition |
| 816 | if ((argc = ldapschema_definition_split_len(lsd, &objcls->model, def, &argv)) == -1) | 809 | argv = NULL; |
| 817 | { | 810 | if ((argc = ldapschema_definition_split_len(lsd, NULL, def, &argv)) == -1) |
| 818 | ldapschema_objectclass_free(objcls); | ||
| 819 | return(NULL); | 811 | return(NULL); |
| 820 | }; | ||
| 821 | 812 | ||
| 822 | // copy definition and oid into syntax | 813 | // initialize objectClass |
| 823 | if ((objcls->model.oid = strdup(argv[0])) == NULL) | 814 | if ((objcls = (LDAPSchemaObjectclass *)ldapschema_model_initialize(lsd, argv[0], LDAPSCHEMA_OBJECTCLASS, def)) == NULL) |
| 824 | { | ||
| 825 | lsd->errcode = LDAPSCHEMA_NO_MEMORY; | ||
| 826 | ldapschema_value_free(argv); | ||
| 827 | ldapschema_objectclass_free(objcls); | ||
| 828 | return(NULL); | ||
| 829 | }; | ||
| 830 | if ((objcls->model.definition = malloc(def->bv_len+1)) == NULL) | ||
| 831 | { | 815 | { |
| 832 | lsd->errcode = LDAPSCHEMA_NO_MEMORY; | ||
| 833 | ldapschema_value_free(argv); | 816 | ldapschema_value_free(argv); |
| 834 | ldapschema_objectclass_free(objcls); | ||
| 835 | return(NULL); | 817 | return(NULL); |
| 836 | }; | 818 | }; |
| 837 | memcpy(objcls->model.definition, def->bv_val, def->bv_len); | ||
| 838 | objcls->model.definition[def->bv_len] = '\0'; | ||
| 839 | 819 | ||
| 840 | // processes attribute definition | 820 | // processes attribute definition |
| 841 | for(pos = 1; pos < argc; pos++) | 821 | for(pos = 1; pos < argc; pos++) |
| @@ -979,9 +959,6 @@ LDAPSchemaObjectclass * ldapschema_parse_objectclass(LDAPSchema * lsd, const str | |||
| 979 | }; | 959 | }; |
| 980 | ldapschema_value_free(argv); | 960 | ldapschema_value_free(argv); |
| 981 | 961 | ||
| 982 | // adds specification to syntax | ||
| 983 | objcls->model.spec = ldapschema_spec_search(objcls->model.oid); | ||
| 984 | |||
| 985 | // register objectClass | 962 | // register objectClass |
| 986 | if ((err = ldapschema_model_register(lsd, &objcls->model)) != LDAP_SUCCESS) | 963 | if ((err = ldapschema_model_register(lsd, &objcls->model)) != LDAP_SUCCESS) |
| 987 | { | 964 | { |
diff --git a/lib/libldapschema/lmemory.c b/lib/libldapschema/lmemory.c index c754f2e..372841b 100644 --- a/lib/libldapschema/lmemory.c +++ b/lib/libldapschema/lmemory.c | |||
| @@ -710,26 +710,6 @@ void ldapschema_objectclass_free(LDAPSchemaObjectclass * objectclass) | |||
| 710 | } | 710 | } |
| 711 | 711 | ||
| 712 | 712 | ||
| 713 | LDAPSchemaObjectclass * ldapschema_objectclass_initialize(LDAPSchema * lsd) | ||
| 714 | { | ||
| 715 | LDAPSchemaObjectclass * objectclass; | ||
| 716 | |||
| 717 | assert(lsd != NULL); | ||
| 718 | |||
| 719 | // initialize syntax | ||
| 720 | if ((objectclass = malloc(sizeof(LDAPSchemaObjectclass))) == NULL) | ||
| 721 | { | ||
| 722 | lsd->errcode = LDAPSCHEMA_NO_MEMORY; | ||
| 723 | return(objectclass); | ||
| 724 | }; | ||
| 725 | bzero(objectclass, sizeof(LDAPSchemaObjectclass)); | ||
| 726 | objectclass->model.size = sizeof(LDAPSchemaObjectclass); | ||
| 727 | objectclass->model.type = LDAPSCHEMA_OBJECTCLASS; | ||
| 728 | |||
| 729 | return(objectclass); | ||
| 730 | } | ||
| 731 | |||
| 732 | |||
| 733 | void * ldapschema_oid(LDAPSchema * lsd, const char * oid, size_t type) | 713 | void * ldapschema_oid(LDAPSchema * lsd, const char * oid, size_t type) |
| 734 | { | 714 | { |
| 735 | size_t low; | 715 | size_t low; |
diff --git a/lib/libldapschema/lmemory.h b/lib/libldapschema/lmemory.h index 3579e71..639f21c 100644 --- a/lib/libldapschema/lmemory.h +++ b/lib/libldapschema/lmemory.h | |||
| @@ -89,10 +89,6 @@ void | |||
| 89 | ldapschema_objectclass_free( | 89 | ldapschema_objectclass_free( |
| 90 | LDAPSchemaObjectclass * objectclass ); | 90 | LDAPSchemaObjectclass * objectclass ); |
| 91 | 91 | ||
| 92 | LDAPSchemaObjectclass * | ||
| 93 | ldapschema_objectclass_initialize( | ||
| 94 | LDAPSchema * lsd ); | ||
| 95 | |||
| 96 | char ** | 92 | char ** |
| 97 | ldapschema_value_dup( | 93 | ldapschema_value_dup( |
| 98 | char ** vals ); | 94 | char ** vals ); |
