Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
openldap
OpenLDAP
Commits
001061da
Commit
001061da
authored
May 22, 2000
by
Julio Sánchez Fernández
Browse files
Added extensions to syntaxes, matching rules and object classes.
parent
bcf8f7ee
Changes
1
Hide whitespace changes
Inline
Side-by-side
libraries/libldap/schema.c
View file @
001061da
...
...
@@ -278,6 +278,7 @@ print_extensions(safe_string *ss, LDAP_SCHEMA_EXTENSION_ITEM **extensions)
for
(
ext
=
extensions
;
*
ext
!=
NULL
;
ext
++
)
{
print_literal
(
ss
,
(
*
ext
)
->
lsei_name
);
print_whsp
(
ss
);
/* Should be print_qdstrings */
print_qdescrs
(
ss
,
(
*
ext
)
->
lsei_values
);
print_whsp
(
ss
);
}
...
...
@@ -1031,7 +1032,7 @@ ldap_str2syntax( const char * s, int * code, const char ** errp )
char
*
sval
;
int
seen_desc
=
0
;
LDAP_SYNTAX
*
syn
;
char
**
ssdummy
;
char
**
ext_vals
;
if
(
!
s
)
{
*
code
=
LDAP_SCHERR_EMPTY
;
...
...
@@ -1100,14 +1101,21 @@ ldap_str2syntax( const char * s, int * code, const char ** errp )
syn
->
syn_desc
=
sval
;
parse_whsp
(
&
ss
);
}
else
if
(
sval
[
0
]
==
'X'
&&
sval
[
1
]
==
'-'
)
{
LDAP_FREE
(
sval
);
/* Should be parse_qdstrings */
ssdummy
=
parse_qdescrs
(
&
ss
,
code
);
if
(
!
ssdummy
)
{
ext_vals
=
parse_qdescrs
(
&
ss
,
code
);
if
(
!
ext_vals
)
{
*
errp
=
ss
;
ldap_syntax_free
(
syn
);
return
NULL
;
}
if
(
add_extension
(
&
syn
->
syn_extensions
,
sval
,
ext_vals
)
)
{
*
code
=
LDAP_SCHERR_OUTOFMEM
;
*
errp
=
ss
;
LDAP_FREE
(
sval
);
ldap_syntax_free
(
syn
);
return
NULL
;
}
}
else
{
*
code
=
LDAP_SCHERR_UNEXPTOKEN
;
*
errp
=
ss
;
...
...
@@ -1149,7 +1157,7 @@ ldap_str2matchingrule( const char * s, int * code, const char ** errp )
int
seen_obsolete
=
0
;
int
seen_syntax
=
0
;
LDAP_MATCHING_RULE
*
mr
;
char
**
ssdummy
;
char
**
ext_vals
;
const
char
*
savepos
;
if
(
!
s
)
{
...
...
@@ -1285,14 +1293,21 @@ ldap_str2matchingrule( const char * s, int * code, const char ** errp )
}
parse_whsp
(
&
ss
);
}
else
if
(
sval
[
0
]
==
'X'
&&
sval
[
1
]
==
'-'
)
{
LDAP_FREE
(
sval
);
/* Should be parse_qdstrings */
ssdummy
=
parse_qdescrs
(
&
ss
,
code
);
if
(
!
ssdummy
)
{
ext_vals
=
parse_qdescrs
(
&
ss
,
code
);
if
(
!
ext_vals
)
{
*
errp
=
ss
;
ldap_matchingrule_free
(
mr
);
return
NULL
;
}
if
(
add_extension
(
&
mr
->
mr_extensions
,
sval
,
ext_vals
)
)
{
*
code
=
LDAP_SCHERR_OUTOFMEM
;
*
errp
=
ss
;
LDAP_FREE
(
sval
);
ldap_matchingrule_free
(
mr
);
return
NULL
;
}
}
else
{
*
code
=
LDAP_SCHERR_UNEXPTOKEN
;
*
errp
=
ss
;
...
...
@@ -1687,7 +1702,7 @@ ldap_str2objectclass( const char * s, int * code, const char ** errp )
int
seen_must
=
0
;
int
seen_may
=
0
;
LDAP_OBJECT_CLASS
*
oc
;
char
**
ssdummy
;
char
**
ext_vals
;
const
char
*
savepos
;
if
(
!
s
)
{
...
...
@@ -1898,11 +1913,18 @@ ldap_str2objectclass( const char * s, int * code, const char ** errp )
}
parse_whsp
(
&
ss
);
}
else
if
(
sval
[
0
]
==
'X'
&&
sval
[
1
]
==
'-'
)
{
LDAP_FREE
(
sval
);
/* Should be parse_qdstrings */
ssdummy
=
parse_qdescrs
(
&
ss
,
code
);
if
(
!
ssdummy
)
{
ext_vals
=
parse_qdescrs
(
&
ss
,
code
);
if
(
!
ext_vals
)
{
*
errp
=
ss
;
ldap_objectclass_free
(
oc
);
return
NULL
;
}
if
(
add_extension
(
&
oc
->
oc_extensions
,
sval
,
ext_vals
)
)
{
*
code
=
LDAP_SCHERR_OUTOFMEM
;
*
errp
=
ss
;
LDAP_FREE
(
sval
);
ldap_objectclass_free
(
oc
);
return
NULL
;
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment