Diff for /rpl/src/instructions_r2.c between versions 1.41 and 1.79

version 1.41, 2012/10/01 11:05:06 version 1.79, 2024/01/09 07:33:53
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.11    RPL/2 (R) version 4.1.35
   Copyright (C) 1989-2012 Dr. BERTRAND Joël    Copyright (C) 1989-2024 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 350  instruction_return(struct_processus *s_e Line 350  instruction_return(struct_processus *s_e
     unsigned char                   *instruction_majuscule;      unsigned char                   *instruction_majuscule;
     unsigned char                   *tampon;      unsigned char                   *tampon;
   
     unsigned long                   registre_position_courante;      integer8                        registre_position_courante;
   
     struct_liste_chainee            *tampon_expression;      struct_liste_chainee            *tampon_expression;
   
Line 381  instruction_return(struct_processus *s_e Line 381  instruction_return(struct_processus *s_e
         return;          return;
     }      }
   
     if ((*s_etat_processus).niveau_courant == ((*s_etat_processus)  
             .niveau_initial + 1))  
     {  
         /*  
          * On ne peut rien dépiler !  
          */  
   
         if ((*s_etat_processus).mode_execution_programme == 'Y')  
         {  
             (*s_etat_processus).requete_arret = 'Y';  
         }  
   
         return;  
     }  
   
     tampon = (*s_etat_processus).instruction_courante;      tampon = (*s_etat_processus).instruction_courante;
     tampon_expression = (*s_etat_processus).expression_courante;      tampon_expression = (*s_etat_processus).expression_courante;
   
Line 416  instruction_return(struct_processus *s_e Line 401  instruction_return(struct_processus *s_e
                     (*s_etat_processus).instruction_courante) == d_faux)                      (*s_etat_processus).instruction_courante) == d_faux)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es;                  (*s_etat_processus).erreur_systeme = d_es;
                 instruction_majuscule = conversion_majuscule(                  instruction_majuscule = conversion_majuscule(s_etat_processus,
                         (*s_etat_processus).instruction_courante);                          (*s_etat_processus).instruction_courante);
   
                 if (instruction_majuscule == NULL)                  if (instruction_majuscule == NULL)
Line 549  instruction_return(struct_processus *s_e Line 534  instruction_return(struct_processus *s_e
   
                             (*s_etat_processus).niveau_courant--;                              (*s_etat_processus).niveau_courant--;
   
                             if (retrait_variable_par_niveau(                              if (retrait_variables_par_niveau(
                                     s_etat_processus) == d_erreur)                                      s_etat_processus) == d_erreur)
                             {                              {
                                 return;                                  return;
Line 796  instruction_return(struct_processus *s_e Line 781  instruction_return(struct_processus *s_e
   
                         (*s_etat_processus).niveau_courant--;                          (*s_etat_processus).niveau_courant--;
   
                         if (retrait_variable_par_niveau(s_etat_processus)                          if (retrait_variables_par_niveau(s_etat_processus)
                                 == d_erreur)                                  == d_erreur)
                         {                          {
                             return;                              return;
Line 886  instruction_rdm(struct_processus *s_etat Line 871  instruction_rdm(struct_processus *s_etat
     logical1                        drapeau_fin_objet_originel;      logical1                        drapeau_fin_objet_originel;
     logical1                        variable_partagee;      logical1                        variable_partagee;
   
     unsigned long                   i;      integer8                        i;
     unsigned long                   j;      integer8                        j;
     unsigned long                   k;      integer8                        k;
     unsigned long                   l;      integer8                        l;
     unsigned long                   nombre_colonnes;      integer8                        nombre_colonnes;
     unsigned long                   nombre_dimensions;      integer8                        nombre_dimensions;
     unsigned long                   nombre_lignes;      integer8                        nombre_lignes;
   
     (*s_etat_processus).erreur_execution = d_ex;      (*s_etat_processus).erreur_execution = d_ex;
   
Line 980  instruction_rdm(struct_processus *s_etat Line 965  instruction_rdm(struct_processus *s_etat
   
         if (s_objet_initial == NULL)          if (s_objet_initial == NULL)
         {          {
             if (pthread_mutex_lock(&((*(*s_etat_processus)  
                     .s_liste_variables_partagees).mutex)) != 0)  
             {  
                 (*s_etat_processus).erreur_systeme = d_es_processus;  
                 return;  
             }  
   
             if (recherche_variable_partagee(s_etat_processus,              if (recherche_variable_partagee(s_etat_processus,
                     (*(*s_etat_processus).pointeur_variable_courante).nom,                      (*(*s_etat_processus).pointeur_variable_courante).nom,
                     (*(*s_etat_processus).pointeur_variable_courante)                      (*(*s_etat_processus).pointeur_variable_courante)
                     .variable_partagee, (*(*s_etat_processus)                      .variable_partagee, (*(*s_etat_processus)
                     .pointeur_variable_courante).origine)                      .pointeur_variable_courante).origine) == NULL)
                     == d_faux)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)  
                         .s_liste_variables_partagees).mutex)) != 0)  
                 {  
                     (*s_etat_processus).erreur_systeme = d_es_processus;  
                     return;  
                 }  
   
                 (*s_etat_processus).erreur_systeme = d_es;                  (*s_etat_processus).erreur_systeme = d_es;
                 (*s_etat_processus).erreur_execution =                  (*s_etat_processus).erreur_execution =
                         d_ex_variable_non_definie;                          d_ex_variable_non_definie;
Line 1023  instruction_rdm(struct_processus *s_etat Line 993  instruction_rdm(struct_processus *s_etat
         if (variable_partagee == d_vrai)          if (variable_partagee == d_vrai)
         {          {
             if (pthread_mutex_unlock(&((*(*s_etat_processus)              if (pthread_mutex_unlock(&((*(*s_etat_processus)
                     .s_liste_variables_partagees).mutex)) != 0)                      .pointeur_variable_partagee_courante).mutex)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 1055  instruction_rdm(struct_processus *s_etat Line 1025  instruction_rdm(struct_processus *s_etat
         if (variable_partagee == d_vrai)          if (variable_partagee == d_vrai)
         {          {
             if (pthread_mutex_unlock(&((*(*s_etat_processus)              if (pthread_mutex_unlock(&((*(*s_etat_processus)
                     .s_liste_variables_partagees).mutex)) != 0)                      .pointeur_variable_partagee_courante).mutex)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 1085  instruction_rdm(struct_processus *s_etat Line 1055  instruction_rdm(struct_processus *s_etat
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 1108  instruction_rdm(struct_processus *s_etat Line 1078  instruction_rdm(struct_processus *s_etat
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 1145  instruction_rdm(struct_processus *s_etat Line 1115  instruction_rdm(struct_processus *s_etat
         if (variable_partagee == d_vrai)          if (variable_partagee == d_vrai)
         {          {
             if (pthread_mutex_unlock(&((*(*s_etat_processus)              if (pthread_mutex_unlock(&((*(*s_etat_processus)
                     .s_liste_variables_partagees).mutex)) != 0)                      .pointeur_variable_partagee_courante).mutex)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 1174  instruction_rdm(struct_processus *s_etat Line 1144  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1190  instruction_rdm(struct_processus *s_etat Line 1160  instruction_rdm(struct_processus *s_etat
                     nombre_lignes;                      nombre_lignes;
   
             if (((*((struct_vecteur *) (*s_objet_redimensionne).objet)).tableau              if (((*((struct_vecteur *) (*s_objet_redimensionne).objet)).tableau
                     = malloc(nombre_lignes * sizeof(integer8))) == NULL)                      = malloc(((size_t) nombre_lignes) * sizeof(integer8)))
                       == NULL)
             {              {
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1232  instruction_rdm(struct_processus *s_etat Line 1203  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1248  instruction_rdm(struct_processus *s_etat Line 1219  instruction_rdm(struct_processus *s_etat
                     nombre_lignes;                      nombre_lignes;
   
             if (((*((struct_vecteur *) (*s_objet_redimensionne).objet)).tableau              if (((*((struct_vecteur *) (*s_objet_redimensionne).objet)).tableau
                     = malloc(nombre_lignes * sizeof(real8))) == NULL)                      = malloc(((size_t) nombre_lignes) * sizeof(real8))) == NULL)
             {              {
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1291  instruction_rdm(struct_processus *s_etat Line 1262  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1307  instruction_rdm(struct_processus *s_etat Line 1278  instruction_rdm(struct_processus *s_etat
                     nombre_lignes;                      nombre_lignes;
   
             if (((*((struct_vecteur *) (*s_objet_redimensionne).objet)).tableau              if (((*((struct_vecteur *) (*s_objet_redimensionne).objet)).tableau
                     = malloc(nombre_lignes * sizeof(struct_complexe16)))                      = malloc(((size_t) nombre_lignes) *
                     == NULL)                      sizeof(struct_complexe16))) == NULL)
             {              {
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1360  instruction_rdm(struct_processus *s_etat Line 1331  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1376  instruction_rdm(struct_processus *s_etat Line 1347  instruction_rdm(struct_processus *s_etat
                     nombre_lignes;                      nombre_lignes;
   
             if (((*((struct_vecteur *) (*s_objet_redimensionne).objet)).tableau              if (((*((struct_vecteur *) (*s_objet_redimensionne).objet)).tableau
                     = malloc(nombre_lignes * sizeof(integer8))) == NULL)                      = malloc(((size_t) nombre_lignes) * sizeof(integer8)))
                       == NULL)
             {              {
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1431  instruction_rdm(struct_processus *s_etat Line 1403  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1447  instruction_rdm(struct_processus *s_etat Line 1419  instruction_rdm(struct_processus *s_etat
                     nombre_lignes;                      nombre_lignes;
   
             if (((*((struct_vecteur *) (*s_objet_redimensionne).objet)).tableau              if (((*((struct_vecteur *) (*s_objet_redimensionne).objet)).tableau
                     = malloc(nombre_lignes * sizeof(real8))) == NULL)                      = malloc(((size_t) nombre_lignes) * sizeof(real8))) == NULL)
             {              {
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1503  instruction_rdm(struct_processus *s_etat Line 1475  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1519  instruction_rdm(struct_processus *s_etat Line 1491  instruction_rdm(struct_processus *s_etat
                     nombre_lignes;                      nombre_lignes;
   
             if (((*((struct_vecteur *) (*s_objet_redimensionne).objet)).tableau              if (((*((struct_vecteur *) (*s_objet_redimensionne).objet)).tableau
                     = malloc(nombre_lignes * sizeof(struct_complexe16)))                      = malloc(((size_t) nombre_lignes) *
                     == NULL)                      sizeof(struct_complexe16))) == NULL)
             {              {
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1580  instruction_rdm(struct_processus *s_etat Line 1552  instruction_rdm(struct_processus *s_etat
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 1618  instruction_rdm(struct_processus *s_etat Line 1590  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1636  instruction_rdm(struct_processus *s_etat Line 1608  instruction_rdm(struct_processus *s_etat
                     .nombre_colonnes = nombre_colonnes;                      .nombre_colonnes = nombre_colonnes;
   
             if (((*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau              if (((*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau
                     = malloc(nombre_lignes * sizeof(integer8 *)))                      = malloc(((size_t) nombre_lignes) * sizeof(integer8 *)))
                     == NULL)                      == NULL)
             {              {
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1657  instruction_rdm(struct_processus *s_etat Line 1629  instruction_rdm(struct_processus *s_etat
             {              {
                 if ((((integer8 **) (*((struct_matrice *)                  if ((((integer8 **) (*((struct_matrice *)
                         (*s_objet_redimensionne).objet)).tableau)[i] =                          (*s_objet_redimensionne).objet)).tableau)[i] =
                         malloc(nombre_colonnes * sizeof(integer8))) == NULL)                          malloc(((size_t) nombre_colonnes) * sizeof(integer8)))
                           == NULL)
                 {                  {
                     if (variable_partagee == d_vrai)                      if (variable_partagee == d_vrai)
                     {                      {
                         if (pthread_mutex_unlock(&((*(*s_etat_processus)                          if (pthread_mutex_unlock(&((*(*s_etat_processus)
                                 .s_liste_variables_partagees).mutex)) != 0)                                  .pointeur_variable_partagee_courante).mutex))
                                   != 0)
                         {                          {
                             (*s_etat_processus).erreur_systeme = d_es_processus;                              (*s_etat_processus).erreur_systeme = d_es_processus;
                             return;                              return;
Line 1703  instruction_rdm(struct_processus *s_etat Line 1677  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1721  instruction_rdm(struct_processus *s_etat Line 1695  instruction_rdm(struct_processus *s_etat
                     .nombre_colonnes = nombre_colonnes;                      .nombre_colonnes = nombre_colonnes;
   
             if (((*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau              if (((*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau
                     = malloc(nombre_lignes * sizeof(real8 *)))                      = malloc(((size_t) nombre_lignes) * sizeof(real8 *)))
                     == NULL)                      == NULL)
             {              {
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1742  instruction_rdm(struct_processus *s_etat Line 1716  instruction_rdm(struct_processus *s_etat
             {              {
                 if ((((real8 **) (*((struct_matrice *)                  if ((((real8 **) (*((struct_matrice *)
                         (*s_objet_redimensionne).objet)).tableau)[i] =                          (*s_objet_redimensionne).objet)).tableau)[i] =
                         malloc(nombre_colonnes * sizeof(real8))) == NULL)                          malloc(((size_t) nombre_colonnes) * sizeof(real8)))
                           == NULL)
                 {                  {
                     if (variable_partagee == d_vrai)                      if (variable_partagee == d_vrai)
                     {                      {
                         if (pthread_mutex_unlock(&((*(*s_etat_processus)                          if (pthread_mutex_unlock(&((*(*s_etat_processus)
                                 .s_liste_variables_partagees).mutex)) != 0)                                  .pointeur_variable_partagee_courante).mutex))
                                   != 0)
                         {                          {
                             (*s_etat_processus).erreur_systeme = d_es_processus;                              (*s_etat_processus).erreur_systeme = d_es_processus;
                             return;                              return;
Line 1788  instruction_rdm(struct_processus *s_etat Line 1764  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1806  instruction_rdm(struct_processus *s_etat Line 1782  instruction_rdm(struct_processus *s_etat
                     .nombre_colonnes = nombre_colonnes;                      .nombre_colonnes = nombre_colonnes;
   
             if (((*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau              if (((*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau
                     = malloc(nombre_lignes * sizeof(struct_complexe16 *)))                      = malloc(((size_t) nombre_lignes) *
                     == NULL)                      sizeof(struct_complexe16 *))) == NULL)
             {              {
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1827  instruction_rdm(struct_processus *s_etat Line 1803  instruction_rdm(struct_processus *s_etat
             {              {
                 if ((((struct_complexe16 **) (*((struct_matrice *)                  if ((((struct_complexe16 **) (*((struct_matrice *)
                         (*s_objet_redimensionne).objet)).tableau)[i] =                          (*s_objet_redimensionne).objet)).tableau)[i] =
                         malloc(nombre_colonnes *                          malloc(((size_t) nombre_colonnes) *
                         sizeof(struct_complexe16))) == NULL)                          sizeof(struct_complexe16))) == NULL)
                 {                  {
                     if (variable_partagee == d_vrai)                      if (variable_partagee == d_vrai)
                     {                      {
                         if (pthread_mutex_unlock(&((*(*s_etat_processus)                          if (pthread_mutex_unlock(&((*(*s_etat_processus)
                                 .s_liste_variables_partagees).mutex)) != 0)                                  .pointeur_variable_partagee_courante).mutex))
                                   != 0)
                         {                          {
                             (*s_etat_processus).erreur_systeme = d_es_processus;                              (*s_etat_processus).erreur_systeme = d_es_processus;
                             return;                              return;
Line 1885  instruction_rdm(struct_processus *s_etat Line 1862  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1903  instruction_rdm(struct_processus *s_etat Line 1880  instruction_rdm(struct_processus *s_etat
                     .nombre_colonnes = nombre_colonnes;                      .nombre_colonnes = nombre_colonnes;
   
             if (((*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau              if (((*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau
                     = malloc(nombre_lignes * sizeof(integer8 *)))                      = malloc(((size_t) nombre_lignes) * sizeof(integer8 *)))
                     == NULL)                      == NULL)
             {              {
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1926  instruction_rdm(struct_processus *s_etat Line 1903  instruction_rdm(struct_processus *s_etat
             {              {
                 if ((((integer8 **) (*((struct_matrice *)                  if ((((integer8 **) (*((struct_matrice *)
                         (*s_objet_redimensionne).objet)).tableau)[i] =                          (*s_objet_redimensionne).objet)).tableau)[i] =
                         malloc(nombre_colonnes *                          malloc(((size_t) nombre_colonnes) *
                         sizeof(integer8))) == NULL)                          sizeof(integer8))) == NULL)
                 {                  {
                     if (variable_partagee == d_vrai)                      if (variable_partagee == d_vrai)
                     {                      {
                         if (pthread_mutex_unlock(&((*(*s_etat_processus)                          if (pthread_mutex_unlock(&((*(*s_etat_processus)
                                 .s_liste_variables_partagees).mutex)) != 0)                                  .pointeur_variable_partagee_courante).mutex))
                                   != 0)
                         {                          {
                             (*s_etat_processus).erreur_systeme = d_es_processus;                              (*s_etat_processus).erreur_systeme = d_es_processus;
                             return;                              return;
Line 1984  instruction_rdm(struct_processus *s_etat Line 1962  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 2002  instruction_rdm(struct_processus *s_etat Line 1980  instruction_rdm(struct_processus *s_etat
                     .nombre_colonnes = nombre_colonnes;                      .nombre_colonnes = nombre_colonnes;
   
             if (((*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau              if (((*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau
                     = malloc(nombre_lignes * sizeof(real8 *)))                      = malloc(((size_t) nombre_lignes) * sizeof(real8 *)))
                     == NULL)                      == NULL)
             {              {
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 2025  instruction_rdm(struct_processus *s_etat Line 2003  instruction_rdm(struct_processus *s_etat
             {              {
                 if ((((real8 **) (*((struct_matrice *)                  if ((((real8 **) (*((struct_matrice *)
                         (*s_objet_redimensionne).objet)).tableau)[i] =                          (*s_objet_redimensionne).objet)).tableau)[i] =
                         malloc(nombre_colonnes *                          malloc(((size_t) nombre_colonnes) *
                         sizeof(real8))) == NULL)                          sizeof(real8))) == NULL)
                 {                  {
                     if (variable_partagee == d_vrai)                      if (variable_partagee == d_vrai)
                     {                      {
                         if (pthread_mutex_unlock(&((*(*s_etat_processus)                          if (pthread_mutex_unlock(&((*(*s_etat_processus)
                                 .s_liste_variables_partagees).mutex)) != 0)                                  .pointeur_variable_partagee_courante).mutex))
                                   != 0)
                         {                          {
                             (*s_etat_processus).erreur_systeme = d_es_processus;                              (*s_etat_processus).erreur_systeme = d_es_processus;
                             return;                              return;
Line 2083  instruction_rdm(struct_processus *s_etat Line 2062  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 2101  instruction_rdm(struct_processus *s_etat Line 2080  instruction_rdm(struct_processus *s_etat
                     .nombre_colonnes = nombre_colonnes;                      .nombre_colonnes = nombre_colonnes;
   
             if (((*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau              if (((*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau
                     = malloc(nombre_lignes * sizeof(struct_complexe16 *)))                      = malloc(((size_t) nombre_lignes)
                     == NULL)                      * sizeof(struct_complexe16 *))) == NULL)
             {              {
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 2124  instruction_rdm(struct_processus *s_etat Line 2103  instruction_rdm(struct_processus *s_etat
             {              {
                 if ((((struct_complexe16 **) (*((struct_matrice *)                  if ((((struct_complexe16 **) (*((struct_matrice *)
                         (*s_objet_redimensionne).objet)).tableau)[i] =                          (*s_objet_redimensionne).objet)).tableau)[i] =
                         malloc(nombre_colonnes *                          malloc(((size_t) nombre_colonnes) *
                         sizeof(struct_complexe16))) == NULL)                          sizeof(struct_complexe16))) == NULL)
                 {                  {
                     if (variable_partagee == d_vrai)                      if (variable_partagee == d_vrai)
                     {                      {
                         if (pthread_mutex_unlock(&((*(*s_etat_processus)                          if (pthread_mutex_unlock(&((*(*s_etat_processus)
                                 .s_liste_variables_partagees).mutex)) != 0)                                  .pointeur_variable_partagee_courante).mutex))
                                   != 0)
                         {                          {
                             (*s_etat_processus).erreur_systeme = d_es_processus;                              (*s_etat_processus).erreur_systeme = d_es_processus;
                             return;                              return;
Line 2188  instruction_rdm(struct_processus *s_etat Line 2168  instruction_rdm(struct_processus *s_etat
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 2223  instruction_rdm(struct_processus *s_etat Line 2203  instruction_rdm(struct_processus *s_etat
     {      {
         if (variable_partagee == d_vrai)          if (variable_partagee == d_vrai)
         {          {
             (*(*s_etat_processus).s_liste_variables_partagees).table              (*(*s_etat_processus).pointeur_variable_partagee_courante).objet =
                     [(*(*s_etat_processus).s_liste_variables_partagees)                      s_objet_redimensionne;
                     .position_variable].objet = s_objet_redimensionne;  
   
             if (pthread_mutex_unlock(&((*(*s_etat_processus)              if (pthread_mutex_unlock(&((*(*s_etat_processus)
                     .s_liste_variables_partagees).mutex)) != 0)                      .pointeur_variable_partagee_courante).mutex)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;

Removed from v.1.41  
changed lines
  Added in v.1.79


CVSweb interface <joel.bertrand@systella.fr>