diff src/load-path.cc @ 5864:e884ab4f29ee

[project @ 2006-06-22 00:57:27 by jwe]
author jwe
date Thu, 22 Jun 2006 00:57:28 +0000
parents 68f8017ef077
children b305874f50ef
line wrap: on
line diff
--- a/src/load-path.cc
+++ b/src/load-path.cc
@@ -146,7 +146,7 @@
 		    {
 		      std::string ext = fname.substr (pos);
 
-		      if (ext == ".m" || ext == ".oct")
+		      if (ext == ".m" || ext == ".oct" || ext == ".mex")
 			{
 			  std::string base = fname.substr (0, pos);
 
@@ -203,6 +203,8 @@
 		    t = load_path::M_FILE;
 		  else if (ext == ".oct")
 		    t = load_path::OCT_FILE;
+		  else if (ext == ".mex")
+		    t = load_path::MEX_FILE;
 
 		  private_function_map[base] |= t;
 		}
@@ -630,6 +632,14 @@
 		  break;
 		}
 	    }
+	  else if (type == load_path::MEX_FILE)
+	    {
+	      if ((type & t) == load_path::MEX_FILE)
+		{
+		  retval += ".mex";
+		  break;
+		}
+	    }
 	  else if (type == (load_path::M_FILE | load_path::OCT_FILE))
 	    {
 	      if (t & load_path::OCT_FILE)
@@ -643,6 +653,51 @@
 		  break;
 		}
 	    }
+	  else if (type == (load_path::M_FILE | load_path::MEX_FILE))
+	    {
+	      if (t & load_path::MEX_FILE)
+		{
+		  retval += ".mex";
+		  break;
+		}
+	      else if (t & load_path::M_FILE)
+		{
+		  retval += ".m";
+		  break;
+		}
+	    }
+	  else if (type == (load_path::OCT_FILE | load_path::MEX_FILE))
+	    {
+	      if (t & load_path::OCT_FILE)
+		{
+		  retval += ".oct";
+		  break;
+		}
+	      else if (t & load_path::MEX_FILE)
+		{
+		  retval += ".mex";
+		  break;
+		}
+	    }
+	  else if (type == (load_path::M_FILE | load_path::OCT_FILE
+			    | load_path::MEX_FILE))
+	    {
+	      if (t & load_path::OCT_FILE)
+		{
+		  retval += ".oct";
+		  break;
+		}
+	      else if (t & load_path::MEX_FILE)
+		{
+		  retval += ".mex";
+		  break;
+		}
+	      else if (t & load_path::M_FILE)
+		{
+		  retval += ".m";
+		  break;
+		}
+	    }
 	  else
 	    error ("load_path::do_find_fcn: %s: invalid type code = %d",
 		   fcn.c_str (), type);
@@ -928,6 +983,14 @@
 		  printed_type = true;
 		}
 
+	      if (types & load_path::MEX_FILE)
+		{
+		  if (printed_type)
+		    os << "|";
+		  os << "mex";
+		  printed_type = true;
+		}
+
 	      if (types & load_path::M_FILE)
 		{
 		  if (printed_type)
@@ -968,6 +1031,14 @@
 	      printed_type = true;
 	    }
 
+	  if (p->types & load_path::MEX_FILE)
+	    {
+	      if (printed_type)
+		os << "|";
+	      os << "mex";
+	      printed_type = true;
+	    }
+
 	  if (p->types & load_path::M_FILE)
 	    {
 	      if (printed_type)
@@ -1026,6 +1097,8 @@
 	t = load_path::M_FILE;
       else if (ext == ".oct")
 	t = load_path::OCT_FILE;
+      else if (ext == ".mex")
+	t = load_path::MEX_FILE;
 
       if (p == file_info_list.end ())
 	{