Diff for /rpl/src/instructions_h1.c between versions 1.19.2.1 and 1.70

version 1.19.2.1, 2011/04/11 13:02:20 version 1.70, 2019/10/31 15:40:11
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.22    RPL/2 (R) version 4.1.32
   Copyright (C) 1989-2011 Dr. BERTRAND Joël    Copyright (C) 1989-2019 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 325  instruction_hms_plus(struct_processus *s Line 325  instruction_hms_plus(struct_processus *s
             return;              return;
         }          }
   
         (*((real8 *) (*s_objet_resultat).objet)) = (*((integer8 *)          (*((real8 *) (*s_objet_resultat).objet)) = ((real8) (*((integer8 *)
                 (*s_objet_argument_2).objet)) + (*((real8 *)                  (*s_objet_argument_2).objet))) + (*((real8 *)
                 (*s_objet_argument_1).objet));                  (*s_objet_argument_1).objet));
   
         conversion_decimal_vers_hms((real8 *) (*s_objet_resultat).objet);          conversion_decimal_vers_hms((real8 *) (*s_objet_resultat).objet);
Line 344  instruction_hms_plus(struct_processus *s Line 344  instruction_hms_plus(struct_processus *s
         }          }
   
         (*((real8 *) (*s_objet_resultat).objet)) = (*((real8 *)          (*((real8 *) (*s_objet_resultat).objet)) = (*((real8 *)
                 (*s_objet_argument_2).objet)) + (*((integer8 *)                  (*s_objet_argument_2).objet)) + ((real8) (*((integer8 *)
                 (*s_objet_argument_1).objet));                  (*s_objet_argument_1).objet)));
   
         conversion_decimal_vers_hms((real8 *) (*s_objet_resultat).objet);          conversion_decimal_vers_hms((real8 *) (*s_objet_resultat).objet);
     }      }
Line 480  instruction_hms_moins(struct_processus * Line 480  instruction_hms_moins(struct_processus *
     if (((*s_objet_argument_1).type == INT) &&      if (((*s_objet_argument_1).type == INT) &&
             ((*s_objet_argument_2).type == INT))              ((*s_objet_argument_2).type == INT))
     {      {
         (*((integer8 *) (*s_objet_argument_1).objet)) =          if (depassement_soustraction((integer8 *) (*s_objet_argument_2).objet,
                 -(*((integer8 *) (*s_objet_argument_1).objet));                  (integer8 *) (*s_objet_argument_1).objet, &tampon) ==
   
         if (depassement_addition((integer8 *) (*s_objet_argument_1).objet,  
                 (integer8 *) (*s_objet_argument_2).objet, &tampon) ==  
                 d_absence_erreur)                  d_absence_erreur)
         {          {
             if ((s_objet_resultat = allocation(s_etat_processus, INT))              if ((s_objet_resultat = allocation(s_etat_processus, INT))
Line 506  instruction_hms_moins(struct_processus * Line 503  instruction_hms_moins(struct_processus *
             }              }
   
             (*((real8 *) (*s_objet_resultat).objet)) = ((real8)              (*((real8 *) (*s_objet_resultat).objet)) = ((real8)
                     (*((integer8 *) (*s_objet_argument_1).objet))) + ((real8)                      (*((integer8 *) (*s_objet_argument_2).objet))) - ((real8)
                     (*((integer8 *) (*s_objet_argument_2).objet)));                      (*((integer8 *) (*s_objet_argument_1).objet)));
         }          }
     }      }
   
Line 529  instruction_hms_moins(struct_processus * Line 526  instruction_hms_moins(struct_processus *
             return;              return;
         }          }
   
         (*((real8 *) (*s_objet_resultat).objet)) = (*((integer8 *)          (*((real8 *) (*s_objet_resultat).objet)) = ((real8) (*((integer8 *)
                 (*s_objet_argument_2).objet)) - (*((real8 *)                  (*s_objet_argument_2).objet))) - (*((real8 *)
                 (*s_objet_argument_1).objet));                  (*s_objet_argument_1).objet));
   
         conversion_decimal_vers_hms((real8 *) (*s_objet_resultat).objet);          conversion_decimal_vers_hms((real8 *) (*s_objet_resultat).objet);
Line 548  instruction_hms_moins(struct_processus * Line 545  instruction_hms_moins(struct_processus *
         }          }
   
         (*((real8 *) (*s_objet_resultat).objet)) = (*((real8 *)          (*((real8 *) (*s_objet_resultat).objet)) = (*((real8 *)
                 (*s_objet_argument_2).objet)) - (*((integer8 *)                  (*s_objet_argument_2).objet)) - ((real8) (*((integer8 *)
                 (*s_objet_argument_1).objet));                  (*s_objet_argument_1).objet)));
   
         conversion_decimal_vers_hms((real8 *) (*s_objet_resultat).objet);          conversion_decimal_vers_hms((real8 *) (*s_objet_resultat).objet);
     }      }
Line 885  instruction_help(struct_processus *s_eta Line 882  instruction_help(struct_processus *s_eta
     if ((*s_etat_processus).langue == 'F')      if ((*s_etat_processus).langue == 'F')
     {      {
         printf("Processus asynchrones :\n");          printf("Processus asynchrones :\n");
         printf("  CTRL+C : interruption de l'instruction en cours ;\n");          printf("  CTRL+c : interruption de l'instruction en cours ;\n");
         printf("  CTRL+D : en mode interactif, provque un ABORT ;\n");          printf("  CTRL+d : en mode interactif, provoque un ABORT\n");
         printf("  CTRL+Z : en cours d'exécution, provoque un HALT "          printf("  CTRL+g : en mode interactif, provoque l'annulation de la "
                   "commande en cours ;\n");
           printf("  CTRL+z : en cours d'exécution, provoque un HALT "
                 "asynchrone.\n\n");                  "asynchrone.\n\n");
   
         printf("Drapeaux (valeurs par défaut) :\n");          printf("Drapeaux (valeurs par défaut) :\n");
Line 920  instruction_help(struct_processus *s_eta Line 919  instruction_help(struct_processus *s_eta
     else      else
     {      {
         printf("Hot keys :\n");          printf("Hot keys :\n");
         printf("  CTRL+C : interruption ;\n");          printf("  CTRL+c : interruption ;\n");
         printf("  CTRL+D : ABORT (in interactive mode only) ;\n");          printf("  CTRL+d : in interactive mode only sends ABORT on empty "
         printf("  CTRL+Z : HALT.\n\n");                  "command line ;\n");
           printf("  CTRL+g : in interactive mode only, nullifies current "
                   "command line ;\n");
           printf("  CTRL+z : HALT.\n\n");
   
         printf("Flags (default values) :\n");          printf("Flags (default values) :\n");
         printf("  1 to 30  : user flags (cleared)\n");          printf("  1 to 30  : user flags (cleared)\n");
Line 980  instruction_help(struct_processus *s_eta Line 982  instruction_help(struct_processus *s_eta
         printf("    %s        : connexion à une base de données SQL\n", d_SQL);          printf("    %s        : connexion à une base de données SQL\n", d_SQL);
         printf("    %s             : mutex\n", d_MTX);          printf("    %s             : mutex\n", d_MTX);
         printf("    %s  : sémaphore nommé\n", d_SPH);          printf("    %s  : sémaphore nommé\n", d_SPH);
           printf("    %s         : enregistrement\n", d_REC);
     }      }
     else      else
     {      {
Line 1007  instruction_help(struct_processus *s_eta Line 1010  instruction_help(struct_processus *s_eta
         printf("    %s        : connection to SQL database\n", d_SQL);          printf("    %s        : connection to SQL database\n", d_SQL);
         printf("    %s             : mutex\n", d_MTX);          printf("    %s             : mutex\n", d_MTX);
         printf("    %s  : named semaphore\n", d_SPH);          printf("    %s  : named semaphore\n", d_SPH);
           printf("    %s         : record\n", d_REC);
     }      }
   
     /*      /*

Removed from v.1.19.2.1  
changed lines
  Added in v.1.70


CVSweb interface <joel.bertrand@systella.fr>