--- dumpasn1.c.orig	Sat Dec 14 15:13:32 2002
+++ dumpasn1.c	Sat Dec 14 15:15:24 2002
@@ -297,11 +297,13 @@
    beginning with a '$' uses the appropriate environment variable.  In
    addition under Unix we also walk down $PATH looking for it */
 
+#ifndef CONFIG_NAME
 #ifdef __TANDEM_NSK__
   #define CONFIG_NAME		"asn1cfg"
 #else
   #define CONFIG_NAME		"dumpasn1.cfg"
 #endif /* __TANDEM_NSK__ */
+#endif
 
 #if defined( __TANDEM_NSK__ )
 
@@ -1215,14 +1217,14 @@
 					{
 					lineLength++;
 					i++;	/* We've read two characters for a wchar_t */
-#if defined( __WIN32__ ) || ( defined( __UNIX__ ) && !defined( __MACH__ ) )
+#if defined( __WIN32__ ) || ( !( defined( __FreeBSD__ ) && __FreeBSD__ < 5 ) && defined( __UNIX__ ) && !defined( __MACH__ ) )
 					wprintf( L"%c", wCh );
 #else
 					/* This could use some improvement */
-  #ifndef __MACH__
+  #if !defined( __MACH__ ) && !defined( __FreeBSD__ )
 					for( p = outBuf; *p != '\0'; p++ )
 						*p = asciiToEbcdic( *p );
-  #endif /* OS X */
+  #endif /* OS X  || FreeBSD */
 					fprintf( output, "%s", outBuf );
 #endif /* OS-specific charset handling */
 					fPos += 2;
