Fixed a few problems with API.xs and made a few additional tests in api.pl.
API.xs: Resolved problem with out of memory/dump core when passing numbers as
the actual modification.
API.xs: Fixed a non-reported bug that I stumbled on. When freeing ber's in
Perl, if ($ber) will return true even when $ber is NULL. I therefore
had to make the check for this stuff in Perl. Also changed this for
ldap_msgfree. There's probably a few other functions I'll want to
do this with.
api.pl: Made the telephoneNumber attribute numeric just for fun. Added a bit
of text explaining that later tests are dependent on earlier ones. I
had people running it without ROOT and expecting the search tests to
fail. This should make it absolutely clear that this is a self-
contained test. The basic search test is in 'make test'.
git-svn-id: svn://10.0.0.236/branches/devel-branch-1_1@10529 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/******************************************************************************
|
||||
* $Id: API.xs,v 1.15 1998-08-13 22:40:53 leif Exp $
|
||||
* $Id: API.xs,v 1.15.2.1 1998-09-20 03:21:55 donley%tekka.wwa.com Exp $
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License
|
||||
* Version 1.0 (the "License"); you may not use this file except in
|
||||
@@ -118,7 +118,7 @@ struct berval ** avref2berptrptr(SV *avref)
|
||||
I32 avref_arraylen;
|
||||
int ix_av,val_len;
|
||||
SV **current_val;
|
||||
char *tmp_char;
|
||||
char *tmp_char,*tmp2;
|
||||
struct berval **tmp_ber;
|
||||
|
||||
if (SvTYPE(SvRV(avref)) != SVt_PVAV ||
|
||||
@@ -132,11 +132,14 @@ struct berval ** avref2berptrptr(SV *avref)
|
||||
{
|
||||
New(1,tmp_ber[ix_av],1,struct berval);
|
||||
current_val = av_fetch((AV *)SvRV(avref),ix_av,0);
|
||||
|
||||
tmp_char = SvPV(*current_val,na);
|
||||
val_len = SvCUR(*current_val);
|
||||
|
||||
Newz(1,tmp_char,val_len+1,char);
|
||||
Copy(SvPV(*current_val,na),tmp_char,val_len,char);
|
||||
tmp_ber[ix_av]->bv_val = tmp_char;
|
||||
Newz(1,tmp2,val_len+1,char);
|
||||
Copy(tmp_char,tmp2,val_len,char);
|
||||
|
||||
tmp_ber[ix_av]->bv_val = tmp2;
|
||||
tmp_ber[ix_av]->bv_len = val_len;
|
||||
}
|
||||
tmp_ber[ix_av] = NULL;
|
||||
@@ -479,6 +482,13 @@ void
|
||||
ldap_ber_free(ber,freebuf)
|
||||
BerElement * ber
|
||||
int freebuf
|
||||
CODE:
|
||||
{
|
||||
if (ber)
|
||||
{
|
||||
ldap_ber_free(ber,freebuf);
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
ldap_bind(ld,dn,passwd,authmethod)
|
||||
@@ -1052,6 +1062,15 @@ ldap_mods_free(mods,freemods)
|
||||
int
|
||||
ldap_msgfree(lm)
|
||||
LDAPMessage * lm
|
||||
CODE:
|
||||
{
|
||||
if (lm)
|
||||
{
|
||||
RETVAL = ldap_msgfree(lm);
|
||||
}
|
||||
}
|
||||
OUTPUT:
|
||||
RETVAL
|
||||
|
||||
int
|
||||
ldap_msgid(lm)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/perl -w
|
||||
#############################################################################
|
||||
# $Id: api.pl,v 1.6 1998-08-13 04:40:00 clayton Exp $
|
||||
# $Id: api.pl,v 1.6.2.1 1998-09-20 03:21:58 donley%tekka.wwa.com Exp $
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License
|
||||
# Version 1.0 (the "License"); you may not use this file except in
|
||||
@@ -12,7 +12,7 @@
|
||||
# License for the specific language governing rights and limitations
|
||||
# under the License.
|
||||
#
|
||||
# The Original Code is PerlDAP. The Initial Developer of the Original
|
||||
# The Original Code is PerLDAP. The Initial Developer of the Original
|
||||
# Code is Netscape Communications Corp. and Clayton Donley. Portions
|
||||
# created by Netscape are Copyright (C) Netscape Communications
|
||||
# Corp., portions created by Clayton Donley are Copyright (C) Clayton
|
||||
@@ -44,6 +44,10 @@ if (!$HOST)
|
||||
exit -1;
|
||||
}
|
||||
|
||||
print "\nPerLDAP API TestSuite\n";
|
||||
print "\nNote: Failures in earlier tests will cause later tests to fail.\n";
|
||||
print "\n";
|
||||
|
||||
my $howmany = 10;
|
||||
|
||||
# Initialize the Connection
|
||||
@@ -132,8 +136,9 @@ foreach my $number (1..$howmany)
|
||||
foreach my $number (1..$howmany)
|
||||
{
|
||||
$entry = {
|
||||
"sn" => {"a",["Test"]},
|
||||
"telephoneNumber" => "800-555-111$number",
|
||||
"sn" => {"ab",["Test"]},
|
||||
"telephoneNumber" => {"ab",[123.456]},
|
||||
# "telephoneNumber" => "800-555-111$number",
|
||||
};
|
||||
if (ldap_modify_s($ld,"cn=Mozilla $number,$BASE",$entry)
|
||||
!= LDAP_SUCCESS)
|
||||
|
||||
Reference in New Issue
Block a user