diff -ur openldap-1.2.10/doc/man/man3/lber-decode.3 openldap-1.2.10.new/doc/man/man3/lber-decode.3
--- openldap-1.2.10/doc/man/man3/lber-decode.3	Sat Oct 24 19:41:51 1998
+++ openldap-1.2.10.new/doc/man/man3/lber-decode.3	Fri Apr 28 01:15:29 2000
@@ -220,10 +220,10 @@
 length.  ber_bvfree() can be called to free the malloced memory.
 .TP
 .SM b
-Boolean.  A pointer to an integer should be supplied.
+Boolean.  A pointer to an int (not a long) should be supplied.
 .TP
 .SM i
-Integer.  A pointer to an integer should be supplied.
+(Long) Integer.  A pointer to a long int (not an int) should be supplied.
 .TP
 .SM B
 Bitstring.  A char ** should be supplied which will point to the malloced
diff -ur openldap-1.2.10/servers/ldapd/abandon.c openldap-1.2.10.new/servers/ldapd/abandon.c
--- openldap-1.2.10/servers/ldapd/abandon.c	Thu Nov  5 16:10:58 1998
+++ openldap-1.2.10.new/servers/ldapd/abandon.c	Fri Apr 28 00:52:59 2000
@@ -34,7 +34,7 @@
     int		msgid
 )
 {
-	int			id;
+	long			id;
 	struct ds_abandon_arg	aa;
 	struct DAPindication	di;
 
diff -ur openldap-1.2.10/servers/slapd/abandon.c openldap-1.2.10.new/servers/slapd/abandon.c
--- openldap-1.2.10/servers/slapd/abandon.c	Fri Jan 29 00:11:49 1999
+++ openldap-1.2.10.new/servers/slapd/abandon.c	Fri Apr 28 00:58:11 2000
@@ -25,7 +25,7 @@
     Operation	*op
 )
 {
-	int		id;
+	long		id;
 	Backend		*be;
 	Operation	*o;
 
diff -ur openldap-1.2.10/servers/slapd/bind.c openldap-1.2.10.new/servers/slapd/bind.c
--- openldap-1.2.10/servers/slapd/bind.c	Fri Jan 29 00:11:49 1999
+++ openldap-1.2.10.new/servers/slapd/bind.c	Fri Apr 28 00:57:41 2000
@@ -28,7 +28,8 @@
 )
 {
 	BerElement	*ber = op->o_ber;
-	int		version, method, len;
+	long		version;
+	int		method, len;
 	char		*cdn, *ndn;
 	unsigned long	rc;
 	struct berval	cred;
diff -ur openldap-1.2.10/servers/slapd/modify.c openldap-1.2.10.new/servers/slapd/modify.c
--- openldap-1.2.10/servers/slapd/modify.c	Fri Aug 20 12:27:51 1999
+++ openldap-1.2.10.new/servers/slapd/modify.c	Fri Apr 28 01:06:14 2000
@@ -75,9 +75,10 @@
 	    tag != LBER_DEFAULT;
 	    tag = ber_next_element( op->o_ber, &len, last ) )
 	{
+		long	lmod_op;
 		(*modtail) = (LDAPMod *) ch_calloc( 1, sizeof(LDAPMod) );
 
-		if ( ber_scanf( op->o_ber, "{i{a[V]}}", &(*modtail)->mod_op,
+		if ( ber_scanf( op->o_ber, "{i{a[V]}}", &lmod_op,
 		    &(*modtail)->mod_type, &(*modtail)->mod_bvalues )
 		    == LBER_ERROR )
 		{
@@ -89,6 +90,7 @@
 			modlist_free( mods );
 			return;
 		}
+		(*modtail)->mod_op = lmod_op;
 
 		if ( (*modtail)->mod_op != LDAP_MOD_ADD &&
 		    (*modtail)->mod_op != LDAP_MOD_DELETE &&
diff -ur openldap-1.2.10/servers/slapd/search.c openldap-1.2.10.new/servers/slapd/search.c
--- openldap-1.2.10/servers/slapd/search.c	Sun Jul 25 14:32:12 1999
+++ openldap-1.2.10.new/servers/slapd/search.c	Fri Apr 28 00:55:14 2000
@@ -28,8 +28,9 @@
 )
 {
 	int		i, err;
-	int		scope, deref, attrsonly;
-	int		sizelimit, timelimit;
+	int		attrsonly;
+	long		scope, deref;
+	long		sizelimit, timelimit;
 	char		*base = NULL, *fstr = NULL;
 	Filter		*filter = NULL;
 	char		**attrs = NULL;
