Diff for /rpl/src/instructions_o1.c between versions 1.56 and 1.62

version 1.56, 2012/06/21 16:07:25 version 1.62, 2012/12/19 09:58:26
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.9    RPL/2 (R) version 4.1.12
   Copyright (C) 1989-2012 Dr. BERTRAND Joël    Copyright (C) 1989-2012 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
Line 3659  instruction_open(struct_processus *s_eta Line 3659  instruction_open(struct_processus *s_eta
                 unsigned char   *vitesses[] =                  unsigned char   *vitesses[] =
                         { "0", "50", "75", "110", "134", "150",                          { "0", "50", "75", "110", "134", "150",
                         "200", "300", "600", "1200", "1800", "2400",                          "200", "300", "600", "1200", "1800", "2400",
                         "4800", "9600", "19200", "38400", "57600",                          "4800", "9600", "19200", "38400",
                         "115200", "230400", NULL };  #ifdef B57600
                           "57600",
   #endif
   #ifdef B115200
                           "115200",
   #endif
   #ifdef B230400
                           "230400",
   #endif
                           NULL };
                 int             vitesses_constantes[] =                  int             vitesses_constantes[] =
                         { B0, B50, B75, B110, B134, B150, B200, B300, B600,                          { B0, B50, B75, B110, B134, B150, B200, B300, B600,
                         B1200, B1800, B2400, B4800, B9600, B19200, B38400,                          B1200, B1800, B2400, B4800, B9600, B19200, B38400,
                         B57600, B115200, B230400, 0 };  #ifdef B57600
                           B57600,
   #endif
   #ifdef B115200
                           B115200,
   #endif
   #ifdef B230400
                           B230400,
   #endif
                           0 };
                 unsigned int    vitesse_courante;                  unsigned int    vitesse_courante;
   
                 vitesse_courante = 0;                  vitesse_courante = 0;
Line 3677  instruction_open(struct_processus *s_eta Line 3695  instruction_open(struct_processus *s_eta
                         if (position[strlen(vitesses[vitesse_courante])] ==                          if (position[strlen(vitesses[vitesse_courante])] ==
                                 d_code_espace)                                  d_code_espace)
                         {                          {
   #ifdef CBAUD
                             tc.c_cflag &= ~CBAUD;                              tc.c_cflag &= ~CBAUD;
                             tc.c_cflag |= vitesses_constantes[vitesse_courante];                              tc.c_cflag |= vitesses_constantes[vitesse_courante];
   #else // POSIX
                               cfsetispeed(&tc,
                                       vitesses_constantes[vitesse_courante]);
                               cfsetospeed(&tc,
                                       vitesses_constantes[vitesse_courante]);
   #endif
                             position += strlen(vitesses[vitesse_courante]);                              position += strlen(vitesses[vitesse_courante]);
   
                             break;                              break;
Line 3922  instruction_open(struct_processus *s_eta Line 3947  instruction_open(struct_processus *s_eta
                     unsigned char   *fonctions[] =                      unsigned char   *fonctions[] =
                             { "IGNBRK", "BRKINT", "IGNPAR", "PARMRK",                              { "IGNBRK", "BRKINT", "IGNPAR", "PARMRK",
                             "INPCK", "ISTRIP", "INLCR", "IGNCR", "ICRNL",                              "INPCK", "ISTRIP", "INLCR", "IGNCR", "ICRNL",
                             "IXON", "IXANY", "IXOFF", "OPOST",                              "IXON",
   #ifdef IXANY
                               "IXANY",
   #endif
                               "IXOFF", "OPOST",
                             "ONLCR", "OCRNL", "ONOCR", "ONLRET",                              "ONLCR", "OCRNL", "ONOCR", "ONLRET",
                             "OFILL", "HUPCL", "CLOCAL", "CRTSCTS",  #ifdef OFILL
                               "OFILL",
   #endif
                               "HUPCL", "CLOCAL",
   #ifdef CRTSCTS
                               "CRTSCTS",
   #endif
                             "ISIG", "ICANON", "ECHO", "ECHOE", "ECHOK",                              "ISIG", "ICANON", "ECHO", "ECHOE", "ECHOK",
                             "ECHONL", "NOFLSH", "TOSTOP", "IEXTEN", NULL };                              "ECHONL", "NOFLSH", "TOSTOP", "IEXTEN", NULL };
                     int             fonctions_constantes[] =                      int             fonctions_constantes[] =
                             { /* c_iflag */                              { /* c_iflag */
                             1, IGNBRK, 1, BRKINT, 1, IGNPAR, 1, PARMRK,                              1, IGNBRK, 1, BRKINT, 1, IGNPAR, 1, PARMRK,
                             1, INPCK, 1, ISTRIP, 1, INLCR, 1, IGNCR, 1, ICRNL,                              1, INPCK, 1, ISTRIP, 1, INLCR, 1, IGNCR, 1, ICRNL,
                             1, IXON, 1, IXANY, 1, IXOFF,                              1, IXON,
   #ifdef IXANY
                               1, IXANY,
   #endif
                               1, IXOFF,
                             /* c_oflag */                              /* c_oflag */
                             2 , OPOST, 2, ONLCR, 2, OCRNL, 2, ONOCR, 2, ONLRET,                              2 , OPOST, 2, ONLCR, 2, OCRNL, 2, ONOCR, 2, ONLRET,
                             2, OFILL, 2, HUPCL,  #ifdef OFILL
                               2, OFILL,
   #endif
                               2, HUPCL,
                             /* c_cflag */                              /* c_cflag */
                             3, CLOCAL, 3, CRTSCTS,                              3, CLOCAL,
   #ifdef CRTSCTS
                               3, CRTSCTS,
   #endif
                             /* c_lfkag */                              /* c_lfkag */
                             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 };
Line 4690  instruction_open(struct_processus *s_eta Line 4735  instruction_open(struct_processus *s_eta
                 if (strcmp(protocole_socket, "IPV4") == 0)                  if (strcmp(protocole_socket, "IPV4") == 0)
                 {                  {
                     protocole_socket[2] = d_code_fin_chaine;                      protocole_socket[2] = d_code_fin_chaine;
                       protocole_numerique = 0;
                 }                  }
                   else
                 if ((s_protocole = getprotobyname(protocole_socket)) == NULL)  
                 {                  {
                     liberation(s_etat_processus, s_objet_argument);                      if ((s_protocole = getprotobyname(protocole_socket))
                               == NULL)
                       {
                           liberation(s_etat_processus, s_objet_argument);
   
                     (*s_etat_processus).erreur_execution =                          (*s_etat_processus).erreur_execution =
                             d_ex_erreur_parametre_fichier;                                  d_ex_erreur_parametre_fichier;
                     return;                          return;
                 }                      }
   
                 protocole_numerique = (*s_protocole).p_proto;                      protocole_numerique = (*s_protocole).p_proto;
                   }
             }              }
   
             if ((s_objet_resultat = allocation(s_etat_processus, SCK))              if ((s_objet_resultat = allocation(s_etat_processus, SCK))

Removed from v.1.56  
changed lines
  Added in v.1.62


CVSweb interface <joel.bertrand@systella.fr>