$OpenBSD: patch-src_shared_fs_op_c,v 1.1.1.1 2018/12/21 22:01:57 pirofti Exp $

Index: src/shared/fs_op.c
--- src/shared/fs_op.c.orig
+++ src/shared/fs_op.c
@@ -35,7 +35,7 @@ const struct file_system_type skip_file_systems[] = {
 
 short IsNFS(const char *dir_name)
 {
-#if !defined(WIN32) && (defined(Linux) || defined(FreeBSD))
+#if !defined(WIN32) && (defined(Linux) || defined(FreeBSD) || defined(OpenBSD))
     struct statfs stfs;
 
     /* ignore NFS (0x6969) or CIFS (0xFF534D42) mounts */
@@ -43,7 +43,11 @@ short IsNFS(const char *dir_name)
     {
         int i;
         for ( i=0; network_file_systems[i].name != NULL; i++ ) {
+#if __OpenBSD__
+            if(strcasecmp(network_file_systems[i].name, stfs.f_fstypename) == 0 ) {
+#else
             if(network_file_systems[i].f_type == stfs.f_type ) {
+#endif
                 return network_file_systems[i].flag;
             }
         }
@@ -69,14 +73,18 @@ short IsNFS(const char *dir_name)
 
 short skipFS(const char *dir_name)
 {
-#if !defined(WIN32) && (defined(Linux) || defined(FreeBSD))
+#if !defined(WIN32) && (defined(Linux) || defined(FreeBSD) || defined(OpenBSD))
     struct statfs stfs;
 
     if ( ! statfs(dir_name, &stfs) )
     {
         int i;
         for ( i=0; skip_file_systems[i].name != NULL; i++ ) {
+#if __OpenBSD__
+            if(strcasecmp(skip_file_systems[i].name, stfs.f_fstypename) == 0 ) {
+#else
             if(skip_file_systems[i].f_type == stfs.f_type ) {
+#endif
                 debug1("%s: Skipping dir (FS %s): %s ", ARGV0, skip_file_systems[i].name, dir_name);
                 return skip_file_systems[i].flag;
             }
