diff --git a/include/avl.h b/include/avl.h
index 1239a61238a251fdfcb5330cce038498de94ca3b..19ed4408ade5a10a5c8f36446d44f8c36f8c7b7f 100644
--- a/include/avl.h
+++ b/include/avl.h
@@ -45,6 +45,9 @@ typedef struct avlnode {
 /* typedef int	(*IFP)LDAP_P((caddr_t, caddr_t)); */
 typedef int	(*IFP)();
 
+LDAP_F int
+avl_free LDAP_P(( Avlnode *root, IFP dfree ));
+
 LDAP_F int
 avl_insert LDAP_P((Avlnode **, caddr_t, IFP, IFP));
 
diff --git a/libraries/libavl/libavl.dsp b/libraries/libavl/libavl.dsp
index 384cfaca5364c9c7139149ccaaed5cf0d6f94292..49eef863910d8e95dc99b1ef63100a0ba2662f7c 100644
--- a/libraries/libavl/libavl.dsp
+++ b/libraries/libavl/libavl.dsp
@@ -57,7 +57,7 @@ LIB32=link.exe -lib
 # PROP Use_MFC 0
 # PROP Use_Debug_Libraries 1
 # PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
+# PROP Intermediate_Dir "Debug\libavl"
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
 # ADD CPP /nologo /W3 /GX /Z7 /Od /I "..\..\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
diff --git a/libraries/libavl/testavl.c b/libraries/libavl/testavl.c
index 9d7b9c7d13b0b2518bb7c45d1e8f9f863066d327..5e69e6f3f61dbc0d2f5a989270f6aaf67b54830b 100644
--- a/libraries/libavl/testavl.c
+++ b/libraries/libavl/testavl.c
@@ -1,14 +1,18 @@
 /* testavl.c - Test Tim Howes AVL code */
 
-#define DISABLE_BRIDGE
 #include "portable.h"
 
 #include <stdio.h>
+#include <stdlib.h>
+
 #include <ac/string.h>
 #include <sys/types.h>
 
 #include "avl.h"
 
+static void ravl_print LDAP_P(( Avlnode *root, int depth ));
+static void myprint LDAP_P(( Avlnode *root ));
+
 main( argc, argv )
 int	argc;
 char	**argv;
@@ -17,7 +21,6 @@ char	**argv;
 	char	command[ 10 ];
 	char	name[ 80 ];
 	char	*p;
-	int	free(), strcmp();
 
 	printf( "> " );
 	while ( fgets( command, sizeof( command ), stdin ) != NULL ) {
@@ -78,9 +81,7 @@ char	**argv;
 	/* NOTREACHED */
 }
 
-static ravl_print( root, depth )
-Avlnode	*root;
-int	depth;
+static void ravl_print( Avlnode *root, int depth )
 {
 	int	i;
 
@@ -96,15 +97,14 @@ int	depth;
 	ravl_print( root->avl_left, depth+1 );
 }
 
-myprint( root )
-Avlnode	*root;
+static void myprint( Avlnode *root )
 {
 	printf( "********\n" );
 
 	if ( root == 0 )
 		printf( "\tNULL\n" );
 	else
-		( void ) ravl_print( root, 0 );
+		ravl_print( root, 0 );
 
 	printf( "********\n" );
 }
diff --git a/libraries/libavl/testavl.dsp b/libraries/libavl/testavl.dsp
new file mode 100644
index 0000000000000000000000000000000000000000..4743ec79d460ce99e72a85ae45c4cdecef088df2
--- /dev/null
+++ b/libraries/libavl/testavl.dsp
@@ -0,0 +1,83 @@
+# Microsoft Developer Studio Project File - Name="testavl" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 5.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=testavl - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "testavl.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "testavl.mak" CFG="testavl - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "testavl - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "testavl - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE 
+
+# Begin Project
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "testavl - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF  "$(CFG)" == "testavl - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "testavl_"
+# PROP BASE Intermediate_Dir "testavl_"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "testavl_"
+# PROP Intermediate_Dir "testavl_"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF 
+
+# Begin Target
+
+# Name "testavl - Win32 Release"
+# Name "testavl - Win32 Debug"
+# End Target
+# End Project
diff --git a/libraries/libavl/testavl.dsw b/libraries/libavl/testavl.dsw
new file mode 100644
index 0000000000000000000000000000000000000000..e8b8116c6f779a4b14246713d42f38ce827c09b4
--- /dev/null
+++ b/libraries/libavl/testavl.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 5.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "testavl"=.\testavl.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+