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
Joe Martin
OpenLDAP
Commits
16f34c55
Commit
16f34c55
authored
Dec 01, 2007
by
Howard Chu
Browse files
Sync with HEAD
parent
cf080a5a
Changes
1
Hide whitespace changes
Inline
Side-by-side
servers/slapd/schema_init.c
View file @
16f34c55
...
...
@@ -2119,30 +2119,38 @@ integerVal2Key(
struct
berval
*
tmp
)
{
struct
berval
iv
;
int
neg
;
if
(
lutil_str2bin
(
val
,
tmp
))
{
iv
=
*
tmp
;
if
(
lutil_str2bin
(
val
,
&
iv
))
{
return
LDAP_INVALID_SYNTAX
;
}
neg
=
tmp
->
bv_val
[
0
]
&
0x80
;
neg
=
iv
.
bv_val
[
0
]
&
0x80
;
/* Omit leading 0 pad byte */
if
(
!
iv
.
bv_val
[
0
]
)
{
iv
.
bv_val
++
;
iv
.
bv_len
--
;
}
/* If too small, sign-extend */
if
(
tmp
->
bv_len
<
index_intlen
)
{
if
(
iv
.
bv_len
<
index_intlen
)
{
int
j
,
k
,
pad
;
key
->
bv_val
[
0
]
=
index_intlen
;
k
=
index_intlen
-
tmp
->
bv_len
+
1
;
k
=
index_intlen
-
iv
.
bv_len
+
1
;
if
(
neg
)
pad
=
0xff
;
else
pad
=
0
;
for
(
j
=
1
;
j
<
k
;
j
++
)
key
->
bv_val
[
j
]
=
pad
;
for
(
j
=
0
;
j
<
tmp
->
bv_len
;
j
++
)
key
->
bv_val
[
j
+
k
]
=
tmp
->
bv_val
[
j
];
for
(
j
=
0
;
j
<
iv
.
bv_len
;
j
++
)
key
->
bv_val
[
j
+
k
]
=
iv
.
bv_val
[
j
];
}
else
{
key
->
bv_val
[
0
]
=
tmp
->
bv_len
;
memcpy
(
key
->
bv_val
+
1
,
tmp
->
bv_val
,
index_intlen
);
key
->
bv_val
[
0
]
=
iv
.
bv_len
;
memcpy
(
key
->
bv_val
+
1
,
iv
.
bv_val
,
index_intlen
);
}
if
(
neg
)
{
key
->
bv_val
[
0
]
=
-
key
->
bv_val
[
0
];
...
...
@@ -2165,7 +2173,7 @@ integerIndexer(
void
*
ctx
)
{
char
ibuf
[
64
];
struct
berval
iv
,
itmp
;
struct
berval
itmp
;
BerVarray
keys
;
int
i
,
rc
;
...
...
@@ -2196,8 +2204,7 @@ integerIndexer(
itmp
.
bv_val
=
slap_sl_realloc
(
itmp
.
bv_val
,
itmp
.
bv_len
,
ctx
);
}
}
iv
=
itmp
;
rc
=
integerVal2Key
(
&
values
[
i
],
&
keys
[
i
],
&
iv
);
rc
=
integerVal2Key
(
&
values
[
i
],
&
keys
[
i
],
&
itmp
);
if
(
rc
)
goto
leave
;
}
...
...
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