=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/option.c,v retrieving revision 1.13 retrieving revision 1.17 diff -u -p -r1.13 -r1.17 --- OpenXM/src/kan96xx/Kan/option.c 2003/08/21 02:30:23 1.13 +++ OpenXM/src/kan96xx/Kan/option.c 2006/12/21 05:29:49 1.17 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/option.c,v 1.12 2003/08/20 01:39:17 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/option.c,v 1.16 2005/06/16 05:07:23 takayama Exp $ */ #include #include "datatype.h" #include "stackm.h" @@ -56,9 +56,15 @@ struct object KsystemVariable(ob) extern int TraceLift; extern int DoCancel; extern int DebugContentReduction; + extern int QuoteMode; + extern int RestrictedMode, RestrictedMode_saved; + extern int UseDsmall; int n,i; - struct object ob1,ob2,ob3,ob4; + struct object ob1 = OINIT; + struct object ob2 = OINIT; + struct object ob3 = OINIT; + struct object ob4 = OINIT; struct object rob = NullObject; switch (getoaSize(ob)) { case 1: /* get the value */ @@ -183,6 +189,8 @@ struct object KsystemVariable(ob) rob = KpoString(RightBracket); }else if (strcmp(ob1.lc.str,"SecureMode")==0) { rob = KpoInteger(SecureMode); + }else if (strcmp(ob1.lc.str,"RestrictedMode")==0) { + rob = KpoInteger(RestrictedMode); }else if (strcmp(ob1.lc.str,"Ecart")==0) { rob = KpoInteger(Ecart); }else if (strcmp(ob1.lc.str,"EcartAutomaticHomogenization")==0) { @@ -193,6 +201,10 @@ struct object KsystemVariable(ob) rob = KpoInteger(DoCancel); }else if (strcmp(ob1.lc.str,"DebugContentReduction")==0) { rob = KpoInteger(DebugContentReduction); + }else if (strcmp(ob1.lc.str,"QuoteMode")==0) { + rob = KpoInteger(QuoteMode); + }else if (strcmp(ob1.lc.str,"UseDsmall")==0) { + rob = KpoInteger(UseDsmall); }else{ warningKan("KsystemVariable():Unknown key word.\n"); } @@ -311,6 +323,14 @@ struct object KsystemVariable(ob) errorKan1("%s\n","You cannot weaken the security level."); } rob = KpoInteger(SecureMode); + }else if (strcmp(ob1.lc.str,"RestrictedMode") == 0) { + if (KopInteger(ob2) >= RestrictedMode) { + RestrictedMode = KopInteger(ob2); + RestrictedMode_saved = RestrictedMode; + }else{ + errorKan1("%s\n","You cannot weaken the RestrictedMode level."); + } + rob = KpoInteger(RestrictedMode); }else if (strcmp(ob1.lc.str,"Ecart") == 0) { Ecart = KopInteger(ob2); rob = KpoInteger(Ecart); @@ -326,6 +346,12 @@ struct object KsystemVariable(ob) }else if (strcmp(ob1.lc.str,"DebugContentReduction") == 0) { DebugContentReduction = KopInteger(ob2); rob = KpoInteger(DebugContentReduction); + }else if (strcmp(ob1.lc.str,"QuoteMode") == 0) { + QuoteMode = KopInteger(ob2); + rob = KpoInteger(QuoteMode); + }else if (strcmp(ob1.lc.str,"UseDsmall") == 0) { + UseDsmall = KopInteger(ob2); + rob = KpoInteger(UseDsmall); }else{ warningKan("KsystemVariable():Unknown key word.\n"); }