$NetBSD: patch-ab,v 1.1 1999/04/08 18:40:39 tron Exp $

--- bzip2.c	1998/09/14 02:37:24	1.2
+++ bzip2.c	1999/04/08 18:34:27	1.4
@@ -767,14 +767,16 @@
 /*--
   if in doubt, return True
 --*/
-Bool notAStandardFile ( Char* name )
+Bool notAStandardFile ( Char* name , IntNative allowSymbolicLinks )
 {
    IntNative      i;
    struct MY_STAT statBuf;
 
-   i = MY_LSTAT ( name, &statBuf );
+   i = allowSymbolicLinks ? MY_STAT ( name, &statBuf ) :
+                            MY_LSTAT ( name, &statBuf );
    if (i != 0) return True;
    if (MY_S_IFREG(statBuf.st_mode)) return False;
+
    return True;
 }
 
@@ -878,7 +880,7 @@
                 progName, inName );
       return;
    }
-   if ( srcMode != SM_I2O && notAStandardFile ( inName )) {
+   if ( srcMode != SM_I2O && notAStandardFile ( inName, False )) {
       fprintf ( stderr, "%s: Input file %s is not a normal file, skipping.\n",
                 progName, inName );
       return;
@@ -1003,7 +1005,7 @@
                 progName, inName );
       return;
    }
-   if ( srcMode != SM_I2O && notAStandardFile ( inName )) {
+   if ( srcMode != SM_I2O && notAStandardFile ( inName, srcMode == SM_F2O )) {
       fprintf ( stderr, "%s: Input file %s is not a normal file, skipping.\n",
                 progName, inName );
       return;
@@ -1133,7 +1135,7 @@
                 progName, inName );
       return;
    }
-   if ( srcMode != SM_I2O && notAStandardFile ( inName )) {
+   if ( srcMode != SM_I2O && notAStandardFile ( inName, True )) {
       fprintf ( stderr, "%s: Input file %s is not a normal file, skipping.\n",
                 progName, inName );
       return;
