Diff for /rpl/src/instructions_o1.c between versions 1.103 and 1.104

version 1.103, 2020/04/06 14:24:00 version 1.104, 2020/05/20 15:26:53
Line 1265  instruction_open(struct_processus *s_eta Line 1265  instruction_open(struct_processus *s_eta
         printf("            IMAXBEL, OPOST, ONLCR, OCRNL, ONOCR, ONLRET,\n");          printf("            IMAXBEL, OPOST, ONLCR, OCRNL, ONOCR, ONLRET,\n");
         printf("            OFILL, HUPCL, CLOCAL, CRTSCTS, ISIG, ICANON,\n");          printf("            OFILL, HUPCL, CLOCAL, CRTSCTS, ISIG, ICANON,\n");
         printf("            ECHO, ECHOE, ECHOK, ECHONL, NOFLSH, TOSTOP,\n");          printf("            ECHO, ECHOE, ECHOK, ECHONL, NOFLSH, TOSTOP,\n");
         printf("            IEXTEN\n");          printf("            IEXTEN, RAW\n");
   
         printf("    Address         : { \"ADDRESS\" [ 127 0 0 1 ] }\n");          printf("    Address         : { \"ADDRESS\" [ 127 0 0 1 ] }\n");
         printf("                      { \"HOST\" \"hostname\" }\n");          printf("                      { \"HOST\" \"hostname\" }\n");
Line 4219  instruction_open(struct_processus *s_eta Line 4219  instruction_open(struct_processus *s_eta
                             "CRTSCTS",                              "CRTSCTS",
 #endif  #endif
                             "ISIG", "ICANON", "ECHO", "ECHOE", "ECHOK",                              "ISIG", "ICANON", "ECHO", "ECHOE", "ECHOK",
                             "ECHONL", "NOFLSH", "TOSTOP", "IEXTEN", NULL };                              "ECHONL", "NOFLSH", "TOSTOP", "IEXTEN",
   
                               "RAW",
                               
                               NULL };
                     tcflag_t        fonctions_constantes[] =                      tcflag_t        fonctions_constantes[] =
                             { /* c_iflag */                              { /* c_iflag */
                             1, IGNBRK, 1, BRKINT, 1, IGNPAR, 1, PARMRK,                              1, IGNBRK, 1, BRKINT, 1, IGNPAR, 1, PARMRK,
Line 4240  instruction_open(struct_processus *s_eta Line 4244  instruction_open(struct_processus *s_eta
 #ifdef CRTSCTS  #ifdef CRTSCTS
                             3, CRTSCTS,                              3, CRTSCTS,
 #endif  #endif
                             /* c_lfkag */                              /* c_lflag */
                             4, ISIG, 4, ICANON, 4, ECHO, 4, ECHOE, 4, ECHOK,                              4, ISIG, 4, ICANON, 4, ECHO, 4, ECHOE, 4, ECHOK,
                             4, ECHONL, 4, NOFLSH, 4, TOSTOP, 4, IEXTEN };                              4, ECHONL, 4, NOFLSH, 4, TOSTOP, 4, IEXTEN,
                              
                               /* RAW */
                               5, 0 };
                     unsigned int    fonction_courante;                      unsigned int    fonction_courante;
   
                     // On vient de trouver quelque chose à interpréter.                      // On vient de trouver quelque chose à interpréter.
Line 4292  instruction_open(struct_processus *s_eta Line 4299  instruction_open(struct_processus *s_eta
                                                 [(fonction_courante * 2) + 1];                                                  [(fonction_courante * 2) + 1];
                                         break;                                          break;
                                     }                                      }
   
                                       case 5:
                                       {
                                           // RAW ne peut être négatif
                                           break;
                                       }
                                 }                                  }
                             }                              }
                             else                              else
Line 4326  instruction_open(struct_processus *s_eta Line 4339  instruction_open(struct_processus *s_eta
                                                 [(fonction_courante * 2) + 1];                                                  [(fonction_courante * 2) + 1];
                                         break;                                          break;
                                     }                                      }
   
                                       case 5:
                                       {
                                           // no ignbrk
                                           tc.c_iflag &= ~(tcflag_t) IGNBRK;
                                           // no brkint
                                           tc.c_iflag &= ~(tcflag_t) BRKINT;
                                           // no ignpar
                                           tc.c_iflag &= ~(tcflag_t) IGNPAR;
                                           // no parmrk
                                           tc.c_iflag &= ~(tcflag_t) PARMRK;
                                           // no inpck
                                           tc.c_iflag &= ~(tcflag_t) INPCK;
                                           // no istrip
                                           tc.c_iflag &= ~(tcflag_t) ISTRIP;
                                           // no inlcr
                                           tc.c_iflag &= ~(tcflag_t) INLCR;
                                           // no icrnl
                                           tc.c_iflag &= ~(tcflag_t) ICRNL;
                                           // no ixon
                                           tc.c_iflag &= ~(tcflag_t) IXON;
                                           // no ixoff
                                           tc.c_iflag &= ~(tcflag_t) IXOFF;
   #ifdef IXANY
                                           // no ixany
                                           tc.c_iflag &= ~(tcflag_t) IXANY;
   #endif
                                           // no opost
                                           tc.c_oflag &= ~(tcflag_t) OPOST;
                                           // no isig
                                           tc.c_lflag &= ~(tcflag_t) ISIG;
                                           // no icanon
                                           tc.c_lflag &= ~(tcflag_t) ICANON;
                                           // no echo
                                           tc.c_lflag &= ~(tcflag_t) ECHO;
                                           // no echoe
                                           tc.c_lflag &= ~(tcflag_t) ECHOE;
                                           // no echok
                                           tc.c_lflag &= ~(tcflag_t) ECHOK;
                                       }
                                 }                                  }
                             }                              }
   
                             break;                              // On sort si on a trouvé un paramètre
                               // correct et donc différent de "NO RAW".
                           
                               if (!((negation == d_vrai) &&
                                       (fonctions_constantes[fonction_courante * 2]
                                        == 5)))
                               {
                                   break;
                               }
                         }                          }
                     }                      }
   
                     if (fonctions[fonction_courante] == NULL)                      if (fonctions[fonction_courante] == NULL)
                     {                      {
                           // Paramètre inconnu
                         free(parametre_courant_majuscule);                          free(parametre_courant_majuscule);
                         liberation(s_etat_processus, s_objet_argument);                          liberation(s_etat_processus, s_objet_argument);
                         liberation(s_etat_processus, s_objet_resultat);                          liberation(s_etat_processus, s_objet_resultat);

Removed from v.1.103  
changed lines
  Added in v.1.104


CVSweb interface <joel.bertrand@systella.fr>