[eros-cvs] cvs commit: eros/src/base/sys/key mk_Discrim.cxx

Charlie Landau clandau@eros.cs.jhu.edu
Sun, 28 Jan 2001 20:40:56 -0500


clandau     01/01/28 20:40:56

  Modified:    src/base/sys/key mk_Discrim.cxx
  Log:
  Discrim verify operation now returns the correct value in all cases.

Revision  Changes    Path
1.23      +5 -5      eros/src/base/sys/key/mk_Discrim.cxx

Index: mk_Discrim.cxx
===================================================================
RCS file: /cvs/eros/src/base/sys/key/mk_Discrim.cxx,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- mk_Discrim.cxx	2001/01/28 04:43:46	1.22
+++ mk_Discrim.cxx	2001/01/29 01:40:56	1.23
@@ -71,10 +71,11 @@
 
     COMMIT_POINT();
   
+    inv.exit.code = 0;		/* default is not discrete */
     switch(inv.entry.key[0]->GetType()) {
     case KtDataPage:
       if (inv.entry.key[0]->IsReadOnly())
-	inv.exit.code = 0;
+	inv.exit.code = 1;
       break;
     case KtCapPage:
     case KtSegment:
@@ -82,19 +83,18 @@
       if (inv.entry.key[0]->IsReadOnly() &&
 	  inv.entry.key[0]->IsNoCall() &&
 	  inv.entry.key[0]->IsWeak())	  
-	inv.exit.code = 0;
+	inv.exit.code = 1;
       break;
     case KtNumber:
-      inv.exit.code = 0;
+      inv.exit.code = 1;
       break;
     case KtMisc:
       if (inv.entry.key[0]->subType == MiscKeyType::Discrim ||
 	  inv.entry.key[0]->subType == MiscKeyType::Void ||
 	  inv.entry.key[0]->subType == MiscKeyType::Returner) 
-	inv.exit.code = 0;
+	inv.exit.code = 1;
       break;
     default:
-      inv.exit.code = 1;		/* not discrete */
       break;
     }