Index: trunk/src/sh_files.c
===================================================================
--- trunk/src/sh_files.c	(revision 59)
+++ trunk/src/sh_files.c	(revision 61)
@@ -721,4 +721,9 @@
 
   SL_ENTER(_("sh_files_globerr"));
+
+  if (errnum == ENOTDIR || errnum == ENOENT)
+    {
+      SL_RETURN(0, _("sh_files_globerr"));
+    }
 
   p = sh_util_safe_name (epath);
@@ -2068,5 +2073,5 @@
       if (sl_strlen(testpath) == (17 + sl_strlen(fullpath)))
 	{
-	  if (0 == sh_unix_file_stat (testpath))
+	  if (0 != sh_unix_file_stat (testpath))
 	    {
 	      sh_files_filecheck (class, fullpath, rsrc, &dummy, 1);
Index: trunk/src/sh_suidchk.c
===================================================================
--- trunk/src/sh_suidchk.c	(revision 59)
+++ trunk/src/sh_suidchk.c	(revision 61)
@@ -521,5 +521,5 @@
 	       0 != strcmp(tmpcat, ShSuidchkExclude)))
 	    {
-	      /* fs is a STATIC string
+	      /* fs is a STATIC string or NULL
 	       */
 	      fs = filesystem_type (tmpcat, tmpcat, &buf);
@@ -1771,8 +1771,12 @@
 	  /* check for the "nosuid" option
 	   */
+#ifdef HAVE_HASMNTOPT
 	  if (NULL == hasmntopt(mnt, "nosuid"))
 	    type = mnt->mnt_type;
 	  else
-	    type = _("nosuid");
+	    type = _("nosuid"); /* hasmntopt (nosuid) */
+#else
+	  type = mnt->mnt_type;
+#endif
 	}
     }
