stage4/generate_c/generate_c_sfc.cc
changeset 627 e7caa7d32ef5
parent 594 c8092e909886
child 628 fe0d516fe291
--- a/stage4/generate_c/generate_c_sfc.cc	Sat Sep 01 16:27:24 2012 +0200
+++ b/stage4/generate_c/generate_c_sfc.cc	Tue Sep 04 18:02:06 2012 +0200
@@ -519,11 +519,15 @@
                 strcmp(qualifier, "R") == 0) {
               s4o.print("active");
             }
-            if (strcmp(qualifier, "P") == 0 || strcmp(qualifier, "SD") == 0 || 
-                strcmp(qualifier, "DS") == 0 || strcmp(qualifier, "SL") == 0) {
+            else if (strcmp(qualifier, "P") == 0 || strcmp(qualifier, "SD") == 0 ||
+            		 strcmp(qualifier, "DS") == 0 || strcmp(qualifier, "SL") == 0 ||
+            		 strcmp(qualifier, "P0") == 0) {
               s4o.print("activated");
             }
-            if (strcmp(qualifier, "D") == 0 || strcmp(qualifier, "L") == 0) {
+            else if (strcmp(qualifier, "P1") == 0) {
+              s4o.print("desactivated");
+            }
+            else if (strcmp(qualifier, "D") == 0 || strcmp(qualifier, "L") == 0) {
               s4o.print("active && __time_cmp(");
               print_step_argument(current_step, "elapsed_time");
               s4o.print(", ");
@@ -539,11 +543,12 @@
             s4o.indent_right();
             s4o.print(s4o.indent_spaces);
             if (strcmp(qualifier, "N") == 0 || strcmp(qualifier, "P") == 0 ||
-                strcmp(qualifier, "D") == 0 || strcmp(qualifier, "L") == 0) {
+                strcmp(qualifier, "D") == 0 || strcmp(qualifier, "L") == 0 ||
+                strcmp(qualifier, "P0") == 0 || strcmp(qualifier, "P1") == 0) {
               print_action_argument(current_action, "state");
               s4o.print(" = 1;\n");  
             }
-            if (strcmp(qualifier, "S") == 0) {
+            if (strcmp(qualifier, "S") == 0 || strcmp(qualifier, "SL") == 0) {
               print_action_argument(current_action, "set");
               s4o.print(" = 1;\n");
             }