version 1.1, 2010/01/26 15:22:44
|
version 1.93, 2019/01/01 09:02:51
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.0.9 |
RPL/2 (R) version 4.1.30 |
Copyright (C) 1989-2010 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 20
|
Line 20
|
*/ |
*/ |
|
|
|
|
#include "rpl.conv.h" |
#include "rpl-conv.h" |
|
|
|
|
/* |
/* |
Line 42 formateur(struct_processus *s_etat_proce
|
Line 42 formateur(struct_processus *s_etat_proce
|
int parentheses_groupe_gauche; |
int parentheses_groupe_gauche; |
int parentheses_groupe_droit; |
int parentheses_groupe_droit; |
|
|
|
integer8 (*__type_disp)(struct_processus *, void **); |
|
|
logical1 registre45; |
logical1 registre45; |
|
|
logical4 autorisation_parenthese; |
logical4 autorisation_parenthese; |
logical4 presence_signe; |
logical4 presence_signe; |
|
|
|
logical8 masque_binaire; |
|
|
struct_liste_chainee *l_atome; |
struct_liste_chainee *l_atome; |
struct_liste_chainee *l_element_courant; |
struct_liste_chainee *l_element_courant; |
struct_liste_chainee *l_liste1; |
struct_liste_chainee *l_liste1; |
Line 70 formateur(struct_processus *s_etat_proce
|
Line 74 formateur(struct_processus *s_etat_proce
|
unsigned char *registre; |
unsigned char *registre; |
unsigned char tampon[1024 + 1]; |
unsigned char tampon[1024 + 1]; |
|
|
unsigned long i; |
integer8 i; |
unsigned long j; |
integer8 j; |
unsigned long k; |
integer8 k; |
unsigned long longueur_binaire; |
integer8 longueur_chaine; |
unsigned long longueur_courante; |
integer8 longueur_courante; |
unsigned long longueur_decimale_courante; |
integer8 longueur_decimale_courante; |
unsigned long *longueurs_maximales; |
integer8 *longueurs_maximales; |
unsigned long nombre_arguments; |
integer8 nombre_arguments; |
unsigned long nombre_arguments_fonction; |
integer8 nombre_arguments_fonction; |
unsigned long nombre_colonnes; |
integer8 nombre_colonnes; |
unsigned long nombre_elements; |
integer8 nombre_elements; |
unsigned long nombre_lignes; |
integer8 nombre_lignes; |
unsigned long offset; |
integer8 offset; |
|
|
integer8 masque_binaire; |
|
|
|
chaine = NULL; |
chaine = NULL; |
chaine_formatee = NULL; |
chaine_formatee = NULL; |
Line 92 formateur(struct_processus *s_etat_proce
|
Line 94 formateur(struct_processus *s_etat_proce
|
|
|
strcpy(base, " "); |
strcpy(base, " "); |
|
|
longueur_binaire = 0; |
|
masque_binaire = 0; |
masque_binaire = 0; |
|
|
if ((*s_objet).type == ADR) |
if ((*s_objet).type == ADR) |
Line 104 formateur(struct_processus *s_etat_proce
|
Line 105 formateur(struct_processus *s_etat_proce
|
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
*/ |
*/ |
|
|
sprintf(tampon, "%016lX", (*((unsigned long *) ((*s_objet).objet)))); |
if (alsprintf(s_etat_processus, &chaine, |
|
"@ %016llX", (*((unsigned long long *) |
chaine = (unsigned char *) malloc((strlen(tampon) + 3) |
((*s_objet).objet)))) < 0) |
* sizeof(unsigned char)); |
|
|
|
if (chaine == NULL) |
|
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return(NULL); |
return(NULL); |
} |
} |
|
|
strcpy(chaine, "@ "); |
|
strcat(chaine, tampon); |
|
} |
} |
else if ((*s_objet).type == SLB) |
else if ((*s_objet).type == SLB) |
{ |
{ |
Line 127 formateur(struct_processus *s_etat_proce
|
Line 122 formateur(struct_processus *s_etat_proce
|
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
*/ |
*/ |
|
|
sprintf(tampon, " %016lX", (unsigned long) (*((struct_bibliotheque *) |
# pragma GCC diagnostic push |
(*s_objet).objet)).descripteur); |
# pragma GCC diagnostic ignored "-Wpointer-to-int-cast" |
|
|
chaine = (unsigned char *) malloc((strlen(tampon) + 10) |
if (alsprintf(s_etat_processus, &chaine, "Library $ %016llX [%s]", |
* sizeof(unsigned char)); |
(unsigned long long) (*((struct_bibliotheque *) |
|
(*s_objet).objet)).descripteur, (*((struct_bibliotheque *) |
if (chaine == NULL) |
(*s_objet).objet)).nom) < 0) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return(NULL); |
return(NULL); |
} |
} |
|
|
strcpy(chaine, "Library $"); |
# pragma GCC diagnostic pop |
strcat(chaine, tampon); |
|
|
|
registre = chaine; |
|
|
|
if ((chaine = malloc((strlen(registre) + 2 + |
|
strlen((*(struct_bibliotheque *) ((*s_objet).objet)).nom) |
|
+ 2) * sizeof(unsigned char))) == NULL) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
|
return(NULL); |
|
} |
|
|
|
sprintf(chaine, "%s [%s]", registre, (*((struct_bibliotheque *) |
|
(*s_objet).objet)).nom); |
|
free(registre); |
|
} |
} |
else if ((*s_objet).type == SPH) |
else if ((*s_objet).type == SPH) |
{ |
{ |
Line 165 formateur(struct_processus *s_etat_proce
|
Line 146 formateur(struct_processus *s_etat_proce
|
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
*/ |
*/ |
|
|
sprintf(tampon, "%016lX", (unsigned long) |
# pragma GCC diagnostic push |
&((*((struct_semaphore *) (*s_objet).objet)).semaphore)); |
# pragma GCC diagnostic ignored "-Wpointer-to-int-cast" |
|
|
chaine = (unsigned char *) malloc((strlen(tampon) + 15 + |
|
strlen((*((struct_semaphore *) (*s_objet).objet)).nom)) |
|
* sizeof(unsigned char)); |
|
|
|
if (chaine == NULL) |
if (alsprintf(s_etat_processus, |
|
&chaine, "Semaphore $ %016llX '%s'", (unsigned long long) |
|
&((*((struct_semaphore *) (*s_objet).objet)).semaphore), |
|
(*((struct_semaphore *) (*s_objet).objet)).nom) < 0) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return(NULL); |
return(NULL); |
} |
} |
|
|
sprintf(chaine, "Semaphore $%s '%s'", tampon, |
# pragma GCC diagnostic pop |
(*((struct_semaphore *) (*s_objet).objet)).nom); |
|
} |
} |
else if ((*s_objet).type == SQL) |
else if ((*s_objet).type == SQL) |
{ |
{ |
Line 194 formateur(struct_processus *s_etat_proce
|
Line 174 formateur(struct_processus *s_etat_proce
|
"MYSQL") == 0) |
"MYSQL") == 0) |
{ |
{ |
# ifdef MYSQL_SUPPORT |
# ifdef MYSQL_SUPPORT |
sprintf(tampon, "Sql $%016lX (%s)", |
if (alsprintf(s_etat_processus, &chaine, "Sql $ %016llX (%s)", |
(long unsigned int) (*((struct_connecteur_sql *) |
(unsigned long long) (*((struct_connecteur_sql *) |
(*s_objet).objet)).descripteur.mysql, |
(*s_objet).objet)).descripteur.mysql, |
(*((struct_connecteur_sql *) (*s_objet).objet)).type); |
(*((struct_connecteur_sql *) (*s_objet).objet)).type) < 0) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
|
return(NULL); |
|
} |
# else |
# else |
if ((*s_etat_processus).langue == 'F') |
if ((*s_etat_processus).langue == 'F') |
{ |
{ |
Line 217 formateur(struct_processus *s_etat_proce
|
Line 201 formateur(struct_processus *s_etat_proce
|
"POSTGRESQL") == 0) |
"POSTGRESQL") == 0) |
{ |
{ |
# ifdef POSTGRESQL_SUPPORT |
# ifdef POSTGRESQL_SUPPORT |
sprintf(tampon, "Sql $%016lX [ %s ]", |
if (alsprintf(s_etat_processus, &chaine, "Sql $ %016llX (%s)", |
(long unsigned int) (*((struct_connecteur_sql *) |
(unsigned long long) (*((struct_connecteur_sql *) |
(*s_objet).objet)).descripteur.postgresql, |
(*s_objet).objet)).descripteur.postgresql, |
(*((struct_connecteur_sql *) (*s_objet).objet)).type); |
(*((struct_connecteur_sql *) (*s_objet).objet)).type) < 0) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
|
return(NULL); |
|
} |
# else |
# else |
if ((*s_etat_processus).langue == 'F') |
if ((*s_etat_processus).langue == 'F') |
{ |
{ |
Line 242 formateur(struct_processus *s_etat_proce
|
Line 230 formateur(struct_processus *s_etat_proce
|
(*((struct_connecteur_sql *) (*s_objet).objet)) |
(*((struct_connecteur_sql *) (*s_objet).objet)) |
.type)); |
.type)); |
} |
} |
|
|
chaine = (unsigned char *) malloc((strlen(tampon) + 1) |
|
* sizeof(unsigned char)); |
|
|
|
if (chaine == NULL) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
|
return(NULL); |
|
} |
|
|
|
strcpy(chaine, tampon); |
|
} |
} |
else if ((*s_objet).type == PRC) |
else if ((*s_objet).type == PRC) |
{ |
{ |
Line 266 formateur(struct_processus *s_etat_proce
|
Line 243 formateur(struct_processus *s_etat_proce
|
if ((*(*((struct_processus_fils *) (*s_objet).objet)).thread) |
if ((*(*((struct_processus_fils *) (*s_objet).objet)).thread) |
.processus_detache == d_vrai) |
.processus_detache == d_vrai) |
{ |
{ |
sprintf(tampon, " %016lX", (unsigned long) |
if (alsprintf(s_etat_processus, &chaine, |
|
"Process $ %016llX", (unsigned long long) |
(*(*((struct_processus_fils *) (*s_objet).objet)).thread) |
(*(*((struct_processus_fils *) (*s_objet).objet)).thread) |
.pid); |
.pid) < 0) |
|
|
chaine = (unsigned char *) malloc((strlen(tampon) + 10) |
|
* sizeof(unsigned char)); |
|
|
|
if (chaine == NULL) |
|
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return(NULL); |
return(NULL); |
} |
} |
|
|
strcpy(chaine, "Process $"); |
|
strcat(chaine, tampon); |
|
} |
} |
else |
else |
{ |
{ |
sprintf(tampon, " %016lX/%016lX", |
if (alsprintf(s_etat_processus, &chaine, |
(unsigned long) (*(*((struct_processus_fils *) |
"Light weight process $ %016llX/%016llX", |
|
(unsigned long long) (*(*((struct_processus_fils *) |
(*s_objet).objet)).thread).pid, |
(*s_objet).objet)).thread).pid, |
(unsigned long) (*(*((struct_processus_fils *) |
(unsigned long long) (*(*((struct_processus_fils *) |
(*s_objet).objet)).thread).tid); |
(*s_objet).objet)).thread).tid) < 0) |
|
|
chaine = (unsigned char *) malloc((strlen(tampon) + 23) |
|
* sizeof(unsigned char)); |
|
|
|
if (chaine == NULL) |
|
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return(NULL); |
return(NULL); |
} |
} |
|
|
strcpy(chaine, "Light weight process $"); |
|
strcat(chaine, tampon); |
|
} |
} |
} |
} |
else if ((*s_objet).type == FCH) |
else if ((*s_objet).type == FCH) |
Line 312 formateur(struct_processus *s_etat_proce
|
Line 275 formateur(struct_processus *s_etat_proce
|
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
*/ |
*/ |
|
|
sprintf(tampon, " %016lX", (unsigned long) (*((struct_fichier *) |
if (alsprintf(s_etat_processus, |
((*s_objet).objet))).descripteur); |
&chaine, "File $ %016llX", (unsigned long long) |
|
(*((struct_fichier *) ((*s_objet).objet))).descripteur) < 0) |
chaine = (unsigned char *) malloc((strlen(tampon) + 7) |
|
* sizeof(unsigned char)); |
|
|
|
if (chaine == NULL) |
|
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return(NULL); |
return(NULL); |
} |
} |
|
|
strcpy(chaine, "File $"); |
|
strcat(chaine, tampon); |
|
|
|
registre45 = test_cfsf(s_etat_processus, 45); |
registre45 = test_cfsf(s_etat_processus, 45); |
cf(s_etat_processus, 45); |
cf(s_etat_processus, 45); |
|
|
Line 345 formateur(struct_processus *s_etat_proce
|
Line 301 formateur(struct_processus *s_etat_proce
|
cf(s_etat_processus, 45); |
cf(s_etat_processus, 45); |
} |
} |
|
|
if ((format_majuscule = conversion_majuscule(format)) == NULL) |
if ((format_majuscule = conversion_majuscule(s_etat_processus, |
|
format)) == NULL) |
{ |
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return(NULL); |
return(NULL); |
} |
} |
|
|
Line 452 formateur(struct_processus *s_etat_proce
|
Line 410 formateur(struct_processus *s_etat_proce
|
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
*/ |
*/ |
|
|
sprintf(tampon, " %016lX", (unsigned long) (*((struct_socket *) |
if (alsprintf(s_etat_processus, &chaine, |
((*s_objet).objet))).socket); |
"Socket $ %016llX", (unsigned long long) |
|
(*((struct_socket *) ((*s_objet).objet))).socket) < 0) |
chaine = (unsigned char *) malloc((strlen(tampon) + 9) |
|
* sizeof(unsigned char)); |
|
|
|
if (chaine == NULL) |
|
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return(NULL); |
return(NULL); |
} |
} |
|
|
strcpy(chaine, "Socket $"); |
|
strcat(chaine, tampon); |
|
|
|
registre45 = test_cfsf(s_etat_processus, 45); |
registre45 = test_cfsf(s_etat_processus, 45); |
cf(s_etat_processus, 45); |
cf(s_etat_processus, 45); |
|
|
Line 485 formateur(struct_processus *s_etat_proce
|
Line 436 formateur(struct_processus *s_etat_proce
|
cf(s_etat_processus, 45); |
cf(s_etat_processus, 45); |
} |
} |
|
|
if ((format_majuscule = conversion_majuscule(format)) == NULL) |
if ((format_majuscule = conversion_majuscule(s_etat_processus, |
|
format)) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return(NULL); |
return(NULL); |
Line 758 formateur(struct_processus *s_etat_proce
|
Line 710 formateur(struct_processus *s_etat_proce
|
|| ((*s_etat_processus).instruction_courante[1] |
|| ((*s_etat_processus).instruction_courante[1] |
== '-')) ? d_vrai : d_faux; |
== '-')) ? d_vrai : d_faux; |
|
|
|
(*s_etat_processus).type_en_cours = NON; |
recherche_type(s_etat_processus); |
recherche_type(s_etat_processus); |
|
|
if ((*s_etat_processus).erreur_execution != d_ex) |
if ((*s_etat_processus).erreur_execution != d_ex) |
Line 815 formateur(struct_processus *s_etat_proce
|
Line 768 formateur(struct_processus *s_etat_proce
|
{ |
{ |
if ((strcmp(chaine_fonction, "AND") == 0) || |
if ((strcmp(chaine_fonction, "AND") == 0) || |
(strcmp(chaine_fonction, "XOR") == 0) || |
(strcmp(chaine_fonction, "XOR") == 0) || |
|
(strcmp(chaine_fonction, "EQV") == 0) || |
(strcmp(chaine_fonction, "OR") == 0)) |
(strcmp(chaine_fonction, "OR") == 0)) |
{ |
{ |
autorisation_parenthese = d_vrai; |
autorisation_parenthese = d_vrai; |
Line 841 formateur(struct_processus *s_etat_proce
|
Line 795 formateur(struct_processus *s_etat_proce
|
(strcmp(chaine_fonction, "-") == 0) || |
(strcmp(chaine_fonction, "-") == 0) || |
(strcmp(chaine_fonction, "AND") == 0) || |
(strcmp(chaine_fonction, "AND") == 0) || |
(strcmp(chaine_fonction, "XOR") == 0) || |
(strcmp(chaine_fonction, "XOR") == 0) || |
|
(strcmp(chaine_fonction, "EQV") == 0) || |
(strcmp(chaine_fonction, "OR") == 0)) |
(strcmp(chaine_fonction, "OR") == 0)) |
{ |
{ |
autorisation_parenthese = d_vrai; |
autorisation_parenthese = d_vrai; |
Line 880 formateur(struct_processus *s_etat_proce
|
Line 835 formateur(struct_processus *s_etat_proce
|
chaine_sauvegarde = (unsigned char *) |
chaine_sauvegarde = (unsigned char *) |
(*s_sous_objet_2).objet; |
(*s_sous_objet_2).objet; |
|
|
if (((*s_sous_objet_2).objet = (void *) |
if (((*s_sous_objet_2).objet = |
malloc((strlen(chaine_sauvegarde) + 2 + 1) |
malloc((strlen(chaine_sauvegarde) + 2 + 1) |
* sizeof(unsigned char))) == NULL) |
* sizeof(unsigned char))) == NULL) |
{ |
{ |
Line 921 formateur(struct_processus *s_etat_proce
|
Line 876 formateur(struct_processus *s_etat_proce
|
"'%s'", (unsigned char *) |
"'%s'", (unsigned char *) |
(*s_sous_objet_1).objet); |
(*s_sous_objet_1).objet); |
|
|
|
(*s_etat_processus).type_en_cours = NON; |
recherche_type(s_etat_processus); |
recherche_type(s_etat_processus); |
|
|
if ((*s_etat_processus).erreur_execution != d_ex) |
if ((*s_etat_processus).erreur_execution != d_ex) |
Line 976 formateur(struct_processus *s_etat_proce
|
Line 932 formateur(struct_processus *s_etat_proce
|
{ |
{ |
if ((strcmp(chaine_fonction, "AND") == 0) || |
if ((strcmp(chaine_fonction, "AND") == 0) || |
(strcmp(chaine_fonction, "XOR") == 0) || |
(strcmp(chaine_fonction, "XOR") == 0) || |
|
(strcmp(chaine_fonction, "EQV") == 0) || |
(strcmp(chaine_fonction, "OR") == 0)) |
(strcmp(chaine_fonction, "OR") == 0)) |
{ |
{ |
autorisation_parenthese = d_vrai; |
autorisation_parenthese = d_vrai; |
Line 992 formateur(struct_processus *s_etat_proce
|
Line 949 formateur(struct_processus *s_etat_proce
|
(strcmp(chaine_fonction, "-") == 0) || |
(strcmp(chaine_fonction, "-") == 0) || |
(strcmp(chaine_fonction, "AND") == 0) || |
(strcmp(chaine_fonction, "AND") == 0) || |
(strcmp(chaine_fonction, "XOR") == 0) || |
(strcmp(chaine_fonction, "XOR") == 0) || |
|
(strcmp(chaine_fonction, "EQV") == 0) || |
(strcmp(chaine_fonction, "OR") == 0)) |
(strcmp(chaine_fonction, "OR") == 0)) |
{ |
{ |
autorisation_parenthese = d_vrai; |
autorisation_parenthese = d_vrai; |
Line 1010 formateur(struct_processus *s_etat_proce
|
Line 968 formateur(struct_processus *s_etat_proce
|
chaine_sauvegarde = (unsigned char *) |
chaine_sauvegarde = (unsigned char *) |
(*s_sous_objet_1).objet; |
(*s_sous_objet_1).objet; |
|
|
if (((*s_sous_objet_1).objet = (void *) |
if (((*s_sous_objet_1).objet = |
malloc((strlen(chaine_sauvegarde) + 2 + 1) |
malloc((strlen(chaine_sauvegarde) + 2 + 1) |
* sizeof(unsigned char))) == NULL) |
* sizeof(unsigned char))) == NULL) |
{ |
{ |
Line 1034 formateur(struct_processus *s_etat_proce
|
Line 992 formateur(struct_processus *s_etat_proce
|
return(NULL); |
return(NULL); |
} |
} |
|
|
if (((*s_sous_objet).objet = (void *) malloc((strlen( |
if (((*s_sous_objet).objet = malloc((strlen( |
(unsigned char *) (*s_sous_objet_1).objet) + |
(unsigned char *) (*s_sous_objet_1).objet) + |
strlen((*((struct_fonction *) |
strlen((*((struct_fonction *) |
(*(*l_element_courant).donnee).objet)) |
(*(*l_element_courant).donnee).objet)) |
Line 1115 formateur(struct_processus *s_etat_proce
|
Line 1073 formateur(struct_processus *s_etat_proce
|
if (autorisation_parenthese == d_vrai) |
if (autorisation_parenthese == d_vrai) |
{ |
{ |
if (((*s_sous_objet).objet = |
if (((*s_sous_objet).objet = |
(void *) malloc((strlen( |
malloc((strlen( |
(unsigned char *) (*s_sous_objet_1).objet) + |
(unsigned char *) (*s_sous_objet_1).objet) + |
strlen((*((struct_fonction *) |
strlen((*((struct_fonction *) |
(*(*l_element_courant).donnee).objet)) |
(*(*l_element_courant).donnee).objet)) |
Line 1139 formateur(struct_processus *s_etat_proce
|
Line 1097 formateur(struct_processus *s_etat_proce
|
else |
else |
{ |
{ |
if (((*s_sous_objet).objet = |
if (((*s_sous_objet).objet = |
(void *) malloc((strlen( |
malloc((strlen( |
(unsigned char *) (*s_sous_objet_1).objet) + |
(unsigned char *) (*s_sous_objet_1).objet) + |
strlen((*((struct_fonction *) |
strlen((*((struct_fonction *) |
(*(*l_element_courant).donnee).objet)) |
(*(*l_element_courant).donnee).objet)) |
Line 1218 formateur(struct_processus *s_etat_proce
|
Line 1176 formateur(struct_processus *s_etat_proce
|
(*(*l_element_courant).donnee).objet)).nom_fonction, |
(*(*l_element_courant).donnee).objet)).nom_fonction, |
"XOR") == 0) || (strcmp((*((struct_fonction *) |
"XOR") == 0) || (strcmp((*((struct_fonction *) |
(*(*l_element_courant).donnee).objet)).nom_fonction, |
(*(*l_element_courant).donnee).objet)).nom_fonction, |
|
"EQV") == 0) || (strcmp((*((struct_fonction *) |
|
(*(*l_element_courant).donnee).objet)).nom_fonction, |
"AND") == 0)) |
"AND") == 0)) |
{ |
{ |
if (depilement(s_etat_processus, &((*s_etat_processus) |
if (depilement(s_etat_processus, &((*s_etat_processus) |
Line 1262 formateur(struct_processus *s_etat_proce
|
Line 1222 formateur(struct_processus *s_etat_proce
|
"'%s'", (unsigned char *) |
"'%s'", (unsigned char *) |
(*s_sous_objet_1).objet); |
(*s_sous_objet_1).objet); |
|
|
|
(*s_etat_processus).type_en_cours = NON; |
recherche_type(s_etat_processus); |
recherche_type(s_etat_processus); |
|
|
if ((*s_etat_processus).erreur_execution != d_ex) |
if ((*s_etat_processus).erreur_execution != d_ex) |
Line 1307 formateur(struct_processus *s_etat_proce
|
Line 1268 formateur(struct_processus *s_etat_proce
|
} |
} |
|
|
if (((strcmp(chaine_fonction, "OR") == 0) || |
if (((strcmp(chaine_fonction, "OR") == 0) || |
|
(strcmp(chaine_fonction, "EQV") == 0) || |
(strcmp(chaine_fonction, "XOR") == 0)) && |
(strcmp(chaine_fonction, "XOR") == 0)) && |
(strcmp((*((struct_fonction *) |
(strcmp((*((struct_fonction *) |
(*(*l_element_courant).donnee).objet)) |
(*(*l_element_courant).donnee).objet)) |
Line 1337 formateur(struct_processus *s_etat_proce
|
Line 1299 formateur(struct_processus *s_etat_proce
|
"'%s'", (unsigned char *) |
"'%s'", (unsigned char *) |
(*s_sous_objet_2).objet); |
(*s_sous_objet_2).objet); |
|
|
|
(*s_etat_processus).type_en_cours = NON; |
recherche_type(s_etat_processus); |
recherche_type(s_etat_processus); |
|
|
if ((*s_etat_processus).erreur_execution != d_ex) |
if ((*s_etat_processus).erreur_execution != d_ex) |
Line 1382 formateur(struct_processus *s_etat_proce
|
Line 1345 formateur(struct_processus *s_etat_proce
|
} |
} |
|
|
if (((strcmp(chaine_fonction, "OR") == 0) || |
if (((strcmp(chaine_fonction, "OR") == 0) || |
|
(strcmp(chaine_fonction, "EQV") == 0) || |
(strcmp(chaine_fonction, "XOR") == 0)) && |
(strcmp(chaine_fonction, "XOR") == 0)) && |
(strcmp((*((struct_fonction *) |
(strcmp((*((struct_fonction *) |
(*(*l_element_courant).donnee).objet)) |
(*(*l_element_courant).donnee).objet)) |
Line 1393 formateur(struct_processus *s_etat_proce
|
Line 1357 formateur(struct_processus *s_etat_proce
|
|
|
liberation(s_etat_processus, s_sous_objet_3); |
liberation(s_etat_processus, s_sous_objet_3); |
|
|
if (((*s_sous_objet).objet = (void *) malloc((strlen( |
if (((*s_sous_objet).objet = malloc((strlen( |
(unsigned char *) (*s_sous_objet_1).objet) + |
(unsigned char *) (*s_sous_objet_1).objet) + |
strlen((*((struct_fonction *) |
strlen((*((struct_fonction *) |
(*(*l_element_courant).donnee).objet)) |
(*(*l_element_courant).donnee).objet)) |
.nom_fonction) + strlen((unsigned char *) |
.nom_fonction) + strlen((unsigned char *) |
(*s_sous_objet_2).objet) + 2 + 1 + |
(*s_sous_objet_2).objet) + 2 + 1 + |
parentheses_groupe_gauche + |
((size_t) parentheses_groupe_gauche) + |
parentheses_groupe_droit) * |
((size_t) parentheses_groupe_droit)) * |
sizeof(unsigned char))) == NULL) |
sizeof(unsigned char))) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = |
(*s_etat_processus).erreur_systeme = |
Line 1537 formateur(struct_processus *s_etat_proce
|
Line 1501 formateur(struct_processus *s_etat_proce
|
return(NULL); |
return(NULL); |
} |
} |
|
|
(*s_sous_objet).objet = (void *) chaine; |
(*s_sous_objet).objet = chaine; |
|
|
if (empilement(s_etat_processus, &((*s_etat_processus) |
if (empilement(s_etat_processus, &((*s_etat_processus) |
.l_base_pile), s_sous_objet) == d_erreur) |
.l_base_pile), s_sous_objet) == d_erreur) |
Line 1557 formateur(struct_processus *s_etat_proce
|
Line 1521 formateur(struct_processus *s_etat_proce
|
return(NULL); |
return(NULL); |
} |
} |
|
|
if (((*s_sous_objet).objet = (void *) formateur( |
if (((*s_sous_objet).objet = formateur( |
s_etat_processus, 0, (*l_element_courant).donnee)) |
s_etat_processus, 0, (*l_element_courant).donnee)) |
== NULL) |
== NULL) |
{ |
{ |
Line 1585 formateur(struct_processus *s_etat_proce
|
Line 1549 formateur(struct_processus *s_etat_proce
|
ptrl = chaine_sauvegarde; |
ptrl = chaine_sauvegarde; |
ptre = (unsigned char *) (*s_sous_objet).objet; |
ptre = (unsigned char *) (*s_sous_objet).objet; |
|
|
for(ptrl++, i = strlen(chaine_sauvegarde) - 2; i > 0; |
for(ptrl++, i = ((integer8) strlen(chaine_sauvegarde)) - 2; |
i--, *ptre++ = *ptrl++); |
i > 0; i--, *ptre++ = *ptrl++); |
|
|
(*ptre) = d_code_fin_chaine; |
(*ptre) = d_code_fin_chaine; |
|
|
Line 1647 formateur(struct_processus *s_etat_proce
|
Line 1611 formateur(struct_processus *s_etat_proce
|
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
*/ |
*/ |
|
|
longueur_binaire = longueur_entiers_binaires(s_etat_processus); |
|
masque_binaire = masque_entiers_binaires(s_etat_processus); |
masque_binaire = masque_entiers_binaires(s_etat_processus); |
|
|
if ((test_cfsf(s_etat_processus, 43) == d_faux) && |
if ((test_cfsf(s_etat_processus, 43) == d_faux) && |
Line 1658 formateur(struct_processus *s_etat_proce
|
Line 1621 formateur(struct_processus *s_etat_proce
|
-- Base décimale --------------------------------------------------------------- |
-- Base décimale --------------------------------------------------------------- |
*/ |
*/ |
|
|
sprintf(tampon, "%llu", (*((logical8 *) |
sprintf(tampon, "%llu", (*((unsigned long long *) |
((*s_objet).objet))) & masque_binaire); |
((*s_objet).objet))) & masque_binaire); |
strcpy(base, "d"); |
strcpy(base, "d"); |
} |
} |
Line 1670 formateur(struct_processus *s_etat_proce
|
Line 1633 formateur(struct_processus *s_etat_proce
|
-- Base octale ----------------------------------------------------------------- |
-- Base octale ----------------------------------------------------------------- |
*/ |
*/ |
|
|
sprintf(tampon, "%llo", (*((logical8 *) |
sprintf(tampon, "%llo", (*((unsigned long long *) |
((*s_objet).objet))) & masque_binaire); |
((*s_objet).objet))) & masque_binaire); |
strcpy(base, "o"); |
strcpy(base, "o"); |
} |
} |
Line 1681 formateur(struct_processus *s_etat_proce
|
Line 1644 formateur(struct_processus *s_etat_proce
|
-- Bases hexadécimale et binaire ----------------------------------------------- |
-- Bases hexadécimale et binaire ----------------------------------------------- |
*/ |
*/ |
|
|
sprintf(tampon, "%llX", (*((logical8 *) |
sprintf(tampon, "%llX", (*((unsigned long long *) |
((*s_objet).objet))) & masque_binaire); |
((*s_objet).objet))) & masque_binaire); |
|
|
if (test_cfsf(s_etat_processus, 43) == d_vrai) |
if (test_cfsf(s_etat_processus, 43) == d_vrai) |
Line 1703 formateur(struct_processus *s_etat_proce
|
Line 1666 formateur(struct_processus *s_etat_proce
|
strcpy(chaine, tampon); |
strcpy(chaine, tampon); |
tampon[0] = 0; |
tampon[0] = 0; |
|
|
for(i = 0; i < strlen(chaine); i++) |
for(i = 0; i < (integer8) strlen(chaine); i++) |
{ |
{ |
switch(chaine[i]) |
switch(chaine[i]) |
{ |
{ |
Line 1819 formateur(struct_processus *s_etat_proce
|
Line 1782 formateur(struct_processus *s_etat_proce
|
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
*/ |
*/ |
|
|
chaine = (unsigned char *) malloc((strlen((unsigned char *) |
if (((*s_etat_processus).autorisation_conversion_chaine == 'Y') && |
((*s_objet).objet)) + 1) * sizeof(unsigned char)); |
(test_cfsf(s_etat_processus, 34) == d_vrai)) |
|
|
if (chaine == NULL) |
|
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
if ((chaine = formateur_flux(s_etat_processus, |
return(NULL); |
(unsigned char *) (*s_objet).objet, &longueur_chaine)) |
|
== NULL) |
|
{ |
|
return(NULL); |
|
} |
} |
} |
|
else |
|
{ |
|
if ((chaine = malloc((strlen((unsigned char *) |
|
((*s_objet).objet)) + 1) * sizeof(unsigned char))) == NULL) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
|
return(NULL); |
|
} |
|
|
strcpy(chaine, (unsigned char *) ((*s_objet).objet)); |
strcpy(chaine, (unsigned char *) ((*s_objet).objet)); |
|
} |
} |
} |
else if ((*s_objet).type == CPL) |
else if ((*s_objet).type == CPL) |
{ |
{ |
Line 1839 formateur(struct_processus *s_etat_proce
|
Line 1813 formateur(struct_processus *s_etat_proce
|
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
*/ |
*/ |
|
|
chaine_formatee = formateur_nombre(s_etat_processus, (void *) |
chaine_formatee = formateur_nombre(s_etat_processus, |
((struct_complexe16 *) ((*s_objet).objet)), 'C'); |
((struct_complexe16 *) ((*s_objet).objet)), 'C'); |
|
|
if (chaine_formatee == NULL) |
if (chaine_formatee == NULL) |
Line 1874 formateur(struct_processus *s_etat_proce
|
Line 1848 formateur(struct_processus *s_etat_proce
|
|
|
while(l_element_courant != NULL) |
while(l_element_courant != NULL) |
{ |
{ |
if ((chaine_formatee = formateur(s_etat_processus, 0, |
if ((chaine_formatee = formateur(s_etat_processus, offset_initial, |
(*l_element_courant).donnee)) == NULL) |
(*l_element_courant).donnee)) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
Line 1947 formateur(struct_processus *s_etat_proce
|
Line 1921 formateur(struct_processus *s_etat_proce
|
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
*/ |
*/ |
|
|
chaine_formatee = formateur_nombre(s_etat_processus, (void *) |
chaine_formatee = formateur_nombre(s_etat_processus, |
((integer8 *) ((*s_objet).objet)), 'I'); |
((integer8 *) ((*s_objet).objet)), 'I'); |
|
|
if (chaine_formatee == NULL) |
if (chaine_formatee == NULL) |
Line 2008 formateur(struct_processus *s_etat_proce
|
Line 1982 formateur(struct_processus *s_etat_proce
|
} |
} |
|
|
strcpy(chaine, "<[ "); |
strcpy(chaine, "<[ "); |
offset = strlen(chaine) + offset_initial; |
offset = ((integer8) strlen(chaine)) + offset_initial; |
|
|
for(i = 0; i < (*((struct_tableau *) (*s_objet).objet)) |
for(i = 0; i < (*((struct_tableau *) (*s_objet).objet)) |
.nombre_elements; i++) |
.nombre_elements; i++) |
{ |
{ |
chaine_sauvegarde = chaine; |
chaine_sauvegarde = chaine; |
chaine_formatee = formateur(s_etat_processus, offset, |
chaine_formatee = formateur(s_etat_processus, (long) offset, |
(*((struct_tableau *) (*s_objet).objet)).elements[i]); |
(*((struct_tableau *) (*s_objet).objet)).elements[i]); |
|
|
if (chaine_formatee == NULL) |
if (chaine_formatee == NULL) |
Line 2105 formateur(struct_processus *s_etat_proce
|
Line 2079 formateur(struct_processus *s_etat_proce
|
chaine_sauvegarde = chaine; |
chaine_sauvegarde = chaine; |
|
|
chaine = (unsigned char *) malloc( |
chaine = (unsigned char *) malloc( |
(strlen(chaine_sauvegarde) + 1 + offset) |
(strlen(chaine_sauvegarde) + 1 + ((size_t) offset)) |
* sizeof(unsigned char)); |
* sizeof(unsigned char)); |
|
|
if (chaine == NULL) |
if (chaine == NULL) |
Line 2213 formateur(struct_processus *s_etat_proce
|
Line 2187 formateur(struct_processus *s_etat_proce
|
|
|
l_element_courant = (struct_liste_chainee *) ((*s_objet).objet); |
l_element_courant = (struct_liste_chainee *) ((*s_objet).objet); |
nombre_elements = 0; |
nombre_elements = 0; |
offset = strlen(chaine) + offset_initial; |
offset = ((integer8) strlen(chaine)) + offset_initial; |
|
|
while(l_element_courant != NULL) |
while(l_element_courant != NULL) |
{ |
{ |
chaine_sauvegarde = chaine; |
chaine_sauvegarde = chaine; |
chaine_formatee = formateur(s_etat_processus, offset, |
chaine_formatee = formateur(s_etat_processus, (long) offset, |
(*l_element_courant).donnee); |
(*l_element_courant).donnee); |
|
|
if (chaine_formatee == NULL) |
if (chaine_formatee == NULL) |
Line 2307 formateur(struct_processus *s_etat_proce
|
Line 2281 formateur(struct_processus *s_etat_proce
|
chaine_sauvegarde = chaine; |
chaine_sauvegarde = chaine; |
|
|
chaine = (unsigned char *) malloc( |
chaine = (unsigned char *) malloc( |
(strlen(chaine_sauvegarde) + 1 + offset) |
(strlen(chaine_sauvegarde) + 1 + ((size_t) offset)) |
* sizeof(unsigned char)); |
* sizeof(unsigned char)); |
|
|
if (chaine == NULL) |
if (chaine == NULL) |
Line 2415 formateur(struct_processus *s_etat_proce
|
Line 2389 formateur(struct_processus *s_etat_proce
|
if (chaine != NULL) |
if (chaine != NULL) |
{ |
{ |
strcpy(chaine, "[["); |
strcpy(chaine, "[["); |
offset = strlen(chaine) + offset_initial - 1; |
offset = ((integer8) strlen(chaine)) + offset_initial - 1; |
|
|
if ((longueurs_maximales = malloc(sizeof(unsigned long) * 2 * |
if ((longueurs_maximales = malloc(sizeof(integer8) * 2 * |
nombre_colonnes)) == NULL) |
((size_t) nombre_colonnes))) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = |
(*s_etat_processus).erreur_systeme = |
d_es_allocation_memoire; |
d_es_allocation_memoire; |
Line 2437 formateur(struct_processus *s_etat_proce
|
Line 2411 formateur(struct_processus *s_etat_proce
|
for(j = 0; j < nombre_colonnes; j++) |
for(j = 0; j < nombre_colonnes; j++) |
{ |
{ |
chaine_formatee = formateur_nombre(s_etat_processus, |
chaine_formatee = formateur_nombre(s_etat_processus, |
(void *) &(((struct_complexe16 **) |
&(((struct_complexe16 **) |
((*((struct_matrice *) |
((*((struct_matrice *) |
((*s_objet).objet))).tableau))[i][j]), 'C'); |
((*s_objet).objet))).tableau))[i][j]), 'C'); |
|
|
Line 2448 formateur(struct_processus *s_etat_proce
|
Line 2422 formateur(struct_processus *s_etat_proce
|
return(NULL); |
return(NULL); |
} |
} |
|
|
longueur_courante = strlen(chaine_formatee); |
longueur_courante = (integer8) strlen(chaine_formatee); |
longueur_decimale_courante = 0; |
longueur_decimale_courante = 0; |
|
|
if ((ptrl = index(chaine_formatee, |
if ((ptrl = index(chaine_formatee, |
Line 2482 formateur(struct_processus *s_etat_proce
|
Line 2456 formateur(struct_processus *s_etat_proce
|
for(j = 0; j < nombre_colonnes; j++) |
for(j = 0; j < nombre_colonnes; j++) |
{ |
{ |
chaine_formatee = formateur_nombre(s_etat_processus, |
chaine_formatee = formateur_nombre(s_etat_processus, |
(void *) &(((struct_complexe16 **) |
&(((struct_complexe16 **) |
((*((struct_matrice *) |
((*((struct_matrice *) |
((*s_objet).objet))).tableau))[i][j]), 'C'); |
((*s_objet).objet))).tableau))[i][j]), 'C'); |
|
|
Line 2493 formateur(struct_processus *s_etat_proce
|
Line 2467 formateur(struct_processus *s_etat_proce
|
return(NULL); |
return(NULL); |
} |
} |
|
|
longueur_courante = strlen(chaine_formatee); |
longueur_courante = (integer8) strlen(chaine_formatee); |
longueur_decimale_courante = 0; |
longueur_decimale_courante = 0; |
|
|
if ((ptrl = index(chaine_formatee, |
if ((ptrl = index(chaine_formatee, |
Line 2512 formateur(struct_processus *s_etat_proce
|
Line 2486 formateur(struct_processus *s_etat_proce
|
|
|
chaine = (unsigned char *) malloc( |
chaine = (unsigned char *) malloc( |
(strlen(chaine_sauvegarde) + |
(strlen(chaine_sauvegarde) + |
longueur_courante + longueur_decimale_courante + |
((size_t) longueur_courante) + |
longueurs_maximales[2 * j] + |
((size_t) longueur_decimale_courante) + |
longueurs_maximales[(2 * j) + 1] + 2) |
((size_t) longueurs_maximales[2 * j]) + |
|
((size_t) longueurs_maximales[(2 * j) + 1]) + 2) |
* sizeof(unsigned char)); |
* sizeof(unsigned char)); |
|
|
if (chaine == NULL) |
if (chaine == NULL) |
Line 2547 formateur(struct_processus *s_etat_proce
|
Line 2522 formateur(struct_processus *s_etat_proce
|
{ |
{ |
chaine = (unsigned char *) malloc( |
chaine = (unsigned char *) malloc( |
(strlen(chaine_sauvegarde) + |
(strlen(chaine_sauvegarde) + |
longueur_courante + longueur_decimale_courante |
((size_t) longueur_courante) + |
|
((size_t) longueur_decimale_courante) |
+ 2) * sizeof(unsigned char)); |
+ 2) * sizeof(unsigned char)); |
|
|
if (chaine == NULL) |
if (chaine == NULL) |
Line 2573 formateur(struct_processus *s_etat_proce
|
Line 2549 formateur(struct_processus *s_etat_proce
|
if (test_cfsf(s_etat_processus, 45) == d_vrai) |
if (test_cfsf(s_etat_processus, 45) == d_vrai) |
{ |
{ |
chaine = (unsigned char *) malloc( |
chaine = (unsigned char *) malloc( |
(strlen(chaine_sauvegarde) + 5 + offset) |
(strlen(chaine_sauvegarde) + 5 + |
* sizeof(unsigned char)); |
((size_t) offset)) * sizeof(unsigned char)); |
|
|
if (chaine == NULL) |
if (chaine == NULL) |
{ |
{ |
Line 2649 formateur(struct_processus *s_etat_proce
|
Line 2625 formateur(struct_processus *s_etat_proce
|
if (chaine != NULL) |
if (chaine != NULL) |
{ |
{ |
strcpy(chaine, "[["); |
strcpy(chaine, "[["); |
offset = strlen(chaine) + offset_initial - 1; |
offset = ((integer8) strlen(chaine)) + offset_initial - 1; |
|
|
if ((longueurs_maximales = malloc(sizeof(unsigned long) * |
if ((longueurs_maximales = malloc(sizeof(integer8) * |
nombre_colonnes)) == NULL) |
((size_t) nombre_colonnes))) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return(NULL); |
return(NULL); |
Line 2670 formateur(struct_processus *s_etat_proce
|
Line 2646 formateur(struct_processus *s_etat_proce
|
for(j = 0; j < nombre_colonnes; j++) |
for(j = 0; j < nombre_colonnes; j++) |
{ |
{ |
chaine_formatee = formateur_nombre(s_etat_processus, |
chaine_formatee = formateur_nombre(s_etat_processus, |
(void *) &(((integer8 **) ((*((struct_matrice *) |
&(((integer8 **) ((*((struct_matrice *) |
((*s_objet).objet))).tableau))[i][j]), 'I'); |
((*s_objet).objet))).tableau))[i][j]), 'I'); |
|
|
if (chaine_formatee == NULL) |
if (chaine_formatee == NULL) |
Line 2680 formateur(struct_processus *s_etat_proce
|
Line 2656 formateur(struct_processus *s_etat_proce
|
return(NULL); |
return(NULL); |
} |
} |
|
|
longueur_courante = strlen(chaine_formatee); |
longueur_courante = (integer8) strlen(chaine_formatee); |
free(chaine_formatee); |
free(chaine_formatee); |
|
|
if (longueurs_maximales[j] < longueur_courante) |
if (longueurs_maximales[j] < longueur_courante) |
Line 2696 formateur(struct_processus *s_etat_proce
|
Line 2672 formateur(struct_processus *s_etat_proce
|
for(j = 0; j < nombre_colonnes; j++) |
for(j = 0; j < nombre_colonnes; j++) |
{ |
{ |
chaine_formatee = formateur_nombre(s_etat_processus, |
chaine_formatee = formateur_nombre(s_etat_processus, |
(void *) &(((integer8 **) ((*((struct_matrice *) |
&(((integer8 **) ((*((struct_matrice *) |
((*s_objet).objet))).tableau))[i][j]), 'I'); |
((*s_objet).objet))).tableau))[i][j]), 'I'); |
|
|
if (chaine_formatee == NULL) |
if (chaine_formatee == NULL) |
Line 2706 formateur(struct_processus *s_etat_proce
|
Line 2682 formateur(struct_processus *s_etat_proce
|
return(NULL); |
return(NULL); |
} |
} |
|
|
longueur_courante = strlen(chaine_formatee); |
longueur_courante = (integer8) strlen(chaine_formatee); |
chaine_sauvegarde = chaine; |
chaine_sauvegarde = chaine; |
|
|
if (test_cfsf(s_etat_processus, 45) == d_vrai) |
if (test_cfsf(s_etat_processus, 45) == d_vrai) |
{ |
{ |
chaine = (unsigned char *) malloc( |
chaine = (unsigned char *) malloc( |
(strlen(chaine_sauvegarde) + longueur_courante |
(strlen(chaine_sauvegarde) + |
+ longueurs_maximales[j] + 2) |
((size_t) longueur_courante) |
|
+ ((size_t) longueurs_maximales[j]) + 2) |
* sizeof(unsigned char)); |
* sizeof(unsigned char)); |
|
|
if (chaine == NULL) |
if (chaine == NULL) |
Line 2737 formateur(struct_processus *s_etat_proce
|
Line 2714 formateur(struct_processus *s_etat_proce
|
else |
else |
{ |
{ |
chaine = (unsigned char *) malloc( |
chaine = (unsigned char *) malloc( |
(strlen(chaine_sauvegarde) + longueur_courante |
(strlen(chaine_sauvegarde) + |
|
((size_t) longueur_courante) |
+ 2) * sizeof(unsigned char)); |
+ 2) * sizeof(unsigned char)); |
|
|
if (chaine == NULL) |
if (chaine == NULL) |
Line 2763 formateur(struct_processus *s_etat_proce
|
Line 2741 formateur(struct_processus *s_etat_proce
|
if (test_cfsf(s_etat_processus, 45) == d_vrai) |
if (test_cfsf(s_etat_processus, 45) == d_vrai) |
{ |
{ |
chaine = (unsigned char *) malloc( |
chaine = (unsigned char *) malloc( |
(strlen(chaine_sauvegarde) + 5 + offset) |
(strlen(chaine_sauvegarde) + 5 + |
* sizeof(unsigned char)); |
((size_t) offset)) * sizeof(unsigned char)); |
|
|
if (chaine == NULL) |
if (chaine == NULL) |
{ |
{ |
Line 2839 formateur(struct_processus *s_etat_proce
|
Line 2817 formateur(struct_processus *s_etat_proce
|
if (chaine != NULL) |
if (chaine != NULL) |
{ |
{ |
strcpy(chaine, "[["); |
strcpy(chaine, "[["); |
offset = strlen(chaine) + offset_initial - 1; |
offset = ((integer8) strlen(chaine)) + offset_initial - 1; |
|
|
if ((longueurs_maximales = malloc(sizeof(unsigned long) * 2 * |
if ((longueurs_maximales = malloc(sizeof(integer8) * 2 * |
nombre_colonnes)) == NULL) |
((size_t) nombre_colonnes))) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return(NULL); |
return(NULL); |
Line 2860 formateur(struct_processus *s_etat_proce
|
Line 2838 formateur(struct_processus *s_etat_proce
|
for(j = 0; j < nombre_colonnes; j++) |
for(j = 0; j < nombre_colonnes; j++) |
{ |
{ |
chaine_formatee = formateur_nombre(s_etat_processus, |
chaine_formatee = formateur_nombre(s_etat_processus, |
(void *) &(((real8 **) ((*((struct_matrice *) |
&(((real8 **) ((*((struct_matrice *) |
((*s_objet).objet))).tableau))[i][j]), 'R'); |
((*s_objet).objet))).tableau))[i][j]), 'R'); |
|
|
if (chaine_formatee == NULL) |
if (chaine_formatee == NULL) |
Line 2870 formateur(struct_processus *s_etat_proce
|
Line 2848 formateur(struct_processus *s_etat_proce
|
return(NULL); |
return(NULL); |
} |
} |
|
|
longueur_courante = strlen(chaine_formatee); |
longueur_courante = (integer8) strlen(chaine_formatee); |
longueur_decimale_courante = 0; |
longueur_decimale_courante = 0; |
|
|
if ((ptrl = index(chaine_formatee, |
if ((ptrl = index(chaine_formatee, |
Line 2904 formateur(struct_processus *s_etat_proce
|
Line 2882 formateur(struct_processus *s_etat_proce
|
for(j = 0; j < nombre_colonnes; j++) |
for(j = 0; j < nombre_colonnes; j++) |
{ |
{ |
chaine_formatee = formateur_nombre(s_etat_processus, |
chaine_formatee = formateur_nombre(s_etat_processus, |
(void *) &(((real8 **) ((*((struct_matrice *) |
&(((real8 **) ((*((struct_matrice *) |
((*s_objet).objet))).tableau))[i][j]), 'R'); |
((*s_objet).objet))).tableau))[i][j]), 'R'); |
|
|
if (chaine_formatee == NULL) |
if (chaine_formatee == NULL) |
Line 2914 formateur(struct_processus *s_etat_proce
|
Line 2892 formateur(struct_processus *s_etat_proce
|
return(NULL); |
return(NULL); |
} |
} |
|
|
longueur_courante = strlen(chaine_formatee); |
longueur_courante = (integer8) strlen(chaine_formatee); |
longueur_decimale_courante = 0; |
longueur_decimale_courante = 0; |
|
|
if ((ptrl = index(chaine_formatee, |
if ((ptrl = index(chaine_formatee, |
Line 2932 formateur(struct_processus *s_etat_proce
|
Line 2910 formateur(struct_processus *s_etat_proce
|
{ |
{ |
chaine = (unsigned char *) malloc( |
chaine = (unsigned char *) malloc( |
(strlen(chaine_sauvegarde) + |
(strlen(chaine_sauvegarde) + |
longueur_courante + longueur_decimale_courante + |
((size_t) longueur_courante) + |
longueurs_maximales[2 * j] + |
((size_t) longueur_decimale_courante) + |
longueurs_maximales[(2 * j) + 1] + 2) |
((size_t) longueurs_maximales[2 * j]) + |
|
((size_t) longueurs_maximales[(2 * j) + 1]) + 2) |
* sizeof(unsigned char)); |
* sizeof(unsigned char)); |
|
|
if (chaine == NULL) |
if (chaine == NULL) |
Line 2967 formateur(struct_processus *s_etat_proce
|
Line 2946 formateur(struct_processus *s_etat_proce
|
{ |
{ |
chaine = (unsigned char *) malloc( |
chaine = (unsigned char *) malloc( |
(strlen(chaine_sauvegarde) + |
(strlen(chaine_sauvegarde) + |
longueur_courante + longueur_decimale_courante |
((size_t) longueur_courante) + |
|
((size_t) longueur_decimale_courante) |
+ 2) * sizeof(unsigned char)); |
+ 2) * sizeof(unsigned char)); |
|
|
if (chaine == NULL) |
if (chaine == NULL) |
Line 2993 formateur(struct_processus *s_etat_proce
|
Line 2973 formateur(struct_processus *s_etat_proce
|
if (test_cfsf(s_etat_processus, 45) == d_vrai) |
if (test_cfsf(s_etat_processus, 45) == d_vrai) |
{ |
{ |
chaine = (unsigned char *) malloc( |
chaine = (unsigned char *) malloc( |
(strlen(chaine_sauvegarde) + 5 + offset) |
(strlen(chaine_sauvegarde) + 5 + |
* sizeof(unsigned char)); |
((size_t) offset)) * sizeof(unsigned char)); |
|
|
if (chaine == NULL) |
if (chaine == NULL) |
{ |
{ |
Line 3052 formateur(struct_processus *s_etat_proce
|
Line 3032 formateur(struct_processus *s_etat_proce
|
} |
} |
else if ((*s_objet).type == MTX) |
else if ((*s_objet).type == MTX) |
{ |
{ |
sprintf(tampon, " %016lX", (unsigned long) |
if (alsprintf(s_etat_processus, &chaine, |
&((*((struct_mutex *) (*s_objet).objet)).mutex)); |
"Mutex $ %016llX owned by $ %016llX", |
|
&((*((struct_mutex *) (*s_objet).objet)).mutex), |
chaine = (unsigned char *) malloc((strlen(tampon) + 8) |
(logical8) (*((struct_mutex *) (*s_objet).objet)).tid) < 0) |
* sizeof(unsigned char)); |
|
|
|
if (chaine == NULL) |
|
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return(NULL); |
return(NULL); |
} |
} |
|
|
strcpy(chaine, "Mutex $"); |
|
strcat(chaine, tampon); |
|
} |
} |
else if ((*s_objet).type == NOM) |
else if ((*s_objet).type == NOM) |
{ |
{ |
Line 3112 formateur(struct_processus *s_etat_proce
|
Line 3086 formateur(struct_processus *s_etat_proce
|
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
*/ |
*/ |
|
|
chaine_formatee = formateur_nombre(s_etat_processus, (void *) |
chaine_formatee = formateur_nombre(s_etat_processus, |
((real8 *) ((*s_objet).objet)), 'R'); |
((real8 *) ((*s_objet).objet)), 'R'); |
|
|
if (chaine_formatee == NULL) |
if (chaine_formatee == NULL) |
Line 3153 formateur(struct_processus *s_etat_proce
|
Line 3127 formateur(struct_processus *s_etat_proce
|
|
|
for(i = 0; i < nombre_colonnes; i++) |
for(i = 0; i < nombre_colonnes; i++) |
{ |
{ |
chaine_formatee = formateur_nombre(s_etat_processus, (void *) |
chaine_formatee = formateur_nombre(s_etat_processus, |
&(((struct_complexe16 *) ((*((struct_vecteur *) |
&(((struct_complexe16 *) ((*((struct_vecteur *) |
((*s_objet).objet))).tableau))[i]), 'C'); |
((*s_objet).objet))).tableau))[i]), 'C'); |
|
|
Line 3220 formateur(struct_processus *s_etat_proce
|
Line 3194 formateur(struct_processus *s_etat_proce
|
|
|
for(i = 0; i < nombre_colonnes; i++) |
for(i = 0; i < nombre_colonnes; i++) |
{ |
{ |
chaine_formatee = formateur_nombre(s_etat_processus, (void *) |
chaine_formatee = formateur_nombre(s_etat_processus, |
&(((integer8 *) ((*((struct_vecteur *) |
&(((integer8 *) ((*((struct_vecteur *) |
((*s_objet).objet))).tableau))[i]), 'I'); |
((*s_objet).objet))).tableau))[i]), 'I'); |
|
|
Line 3287 formateur(struct_processus *s_etat_proce
|
Line 3261 formateur(struct_processus *s_etat_proce
|
|
|
for(i = 0; i < nombre_colonnes; i++) |
for(i = 0; i < nombre_colonnes; i++) |
{ |
{ |
chaine_formatee = formateur_nombre(s_etat_processus, (void *) |
chaine_formatee = formateur_nombre(s_etat_processus, |
&(((real8 *) ((*((struct_vecteur *) |
&(((real8 *) ((*((struct_vecteur *) |
((*s_objet).objet))).tableau))[i]), 'R'); |
((*s_objet).objet))).tableau))[i]), 'R'); |
|
|
Line 3324 formateur(struct_processus *s_etat_proce
|
Line 3298 formateur(struct_processus *s_etat_proce
|
|
|
if (chaine == NULL) |
if (chaine == NULL) |
{ |
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
|
return(NULL); |
|
} |
|
|
|
strcpy(chaine, chaine_sauvegarde); |
|
free(chaine_sauvegarde); |
|
strcat(chaine, " ]"); |
|
} |
|
} |
|
else if ((*s_objet).type == REC) |
|
{ |
|
chaine = (unsigned char *) malloc(4 * sizeof(unsigned char)); |
|
|
|
if (chaine == NULL) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
|
return(NULL); |
|
} |
|
|
|
strcpy(chaine, "|[ "); |
|
offset = ((integer8) strlen(chaine)) + offset_initial; |
|
|
|
// L'objet se compose de deux tables à une dimension de |
|
// mêmes tailles. |
|
|
|
chaine_sauvegarde = chaine; |
|
|
|
if ((chaine_formatee = formateur(s_etat_processus, (long) offset, |
|
(*((struct_record *) (*s_objet).objet)).noms)) == NULL) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
|
return(NULL); |
|
} |
|
|
|
if ((chaine = (unsigned char *) malloc((strlen(chaine_formatee) |
|
+ strlen(chaine_sauvegarde) + 1) |
|
* sizeof(unsigned char))) == NULL) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
|
return(NULL); |
|
} |
|
|
|
sprintf(chaine, "%s%s", chaine_sauvegarde, chaine_formatee); |
|
free(chaine_sauvegarde); |
|
free(chaine_formatee); |
|
|
|
if (test_cfsf(s_etat_processus, 45) == d_vrai) |
|
{ |
|
chaine_sauvegarde = chaine; |
|
|
|
if ((chaine = (unsigned char *) malloc( |
|
(strlen(chaine_sauvegarde) + 2) * sizeof(unsigned char))) |
|
== NULL) |
|
{ |
(*s_etat_processus).erreur_systeme = |
(*s_etat_processus).erreur_systeme = |
d_es_allocation_memoire; |
d_es_allocation_memoire; |
return(NULL); |
return(NULL); |
Line 3331 formateur(struct_processus *s_etat_proce
|
Line 3359 formateur(struct_processus *s_etat_proce
|
|
|
strcpy(chaine, chaine_sauvegarde); |
strcpy(chaine, chaine_sauvegarde); |
free(chaine_sauvegarde); |
free(chaine_sauvegarde); |
strcat(chaine, " ]"); |
strcat(chaine, "\n"); |
|
|
|
chaine_sauvegarde = chaine; |
|
|
|
chaine = (unsigned char *) malloc( |
|
(strlen(chaine_sauvegarde) + 1 + ((size_t) offset)) |
|
* sizeof(unsigned char)); |
|
|
|
if (chaine == NULL) |
|
{ |
|
(*s_etat_processus).erreur_systeme = |
|
d_es_allocation_memoire; |
|
return(NULL); |
|
} |
|
|
|
strcpy(chaine, chaine_sauvegarde); |
|
free(chaine_sauvegarde); |
|
ptre = &(chaine[strlen(chaine)]); |
|
|
|
for(k = 0; k < offset; k++, *(ptre++) = ' '); |
|
|
|
(*ptre) = d_code_fin_chaine; |
|
} |
|
else |
|
{ |
|
chaine_sauvegarde = chaine; |
|
|
|
if ((chaine = (unsigned char *) malloc( |
|
(strlen(chaine_sauvegarde) + 2) |
|
* sizeof(unsigned char))) == NULL) |
|
{ |
|
(*s_etat_processus).erreur_systeme = |
|
d_es_allocation_memoire; |
|
return(NULL); |
|
} |
|
|
|
strcpy(chaine, chaine_sauvegarde); |
|
free(chaine_sauvegarde); |
|
strcat(chaine, " "); |
|
} |
|
|
|
chaine_sauvegarde = chaine; |
|
|
|
if ((chaine_formatee = formateur(s_etat_processus, (long) offset, |
|
(*((struct_record *) (*s_objet).objet)).donnees)) == NULL) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
|
return(NULL); |
|
} |
|
|
|
if ((chaine = (unsigned char *) malloc((strlen(chaine_formatee) |
|
+ strlen(chaine_sauvegarde) + 1) |
|
* sizeof(unsigned char))) == NULL) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
|
return(NULL); |
|
} |
|
|
|
sprintf(chaine, "%s%s", chaine_sauvegarde, chaine_formatee); |
|
free(chaine_sauvegarde); |
|
free(chaine_formatee); |
|
|
|
chaine_sauvegarde = chaine; |
|
chaine = (unsigned char *) malloc((strlen(chaine_sauvegarde) + 4) |
|
* sizeof(unsigned char)); |
|
|
|
if (chaine == NULL) |
|
{ |
|
(*s_etat_processus).erreur_systeme = |
|
d_es_allocation_memoire; |
|
return(NULL); |
|
} |
|
|
|
strcpy(chaine, chaine_sauvegarde); |
|
free(chaine_sauvegarde); |
|
strcat(chaine, " ]|"); |
|
} |
|
else if ((*s_objet).type == NON) |
|
{ |
|
if ((chaine = malloc((strlen("System object") + 1) |
|
* sizeof(unsigned char))) == NULL) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
|
return(NULL); |
|
} |
|
|
|
strcpy(chaine, "System object"); |
|
} |
|
else if ((*s_objet).type == EXT) |
|
{ |
|
l_element_courant = (*s_etat_processus).s_bibliotheques; |
|
|
|
while(l_element_courant != NULL) |
|
{ |
|
if ((*((struct_bibliotheque *) (*l_element_courant).donnee)) |
|
.descripteur == (*s_objet).descripteur_bibliotheque) |
|
{ |
|
if ((__type_disp = dlsym((*s_objet).descripteur_bibliotheque, |
|
"__type_disp")) == NULL) |
|
{ |
|
// Symbole externe non affichable |
|
|
|
if ((chaine = malloc((strlen( |
|
"External symbol (disp function not found)") + 1) |
|
* sizeof(unsigned char))) == NULL) |
|
{ |
|
(*s_etat_processus).erreur_systeme = |
|
d_es_allocation_memoire; |
|
return(NULL); |
|
} |
|
|
|
strcpy(chaine, "External symbol (disp function not found)"); |
|
} |
|
else |
|
{ |
|
// Symbole externe affichable |
|
void **arg; |
|
|
|
arg = (void **) &s_objet; |
|
__type_disp(s_etat_processus, arg); |
|
chaine = (unsigned char *) (*arg); |
|
} |
|
|
|
break; |
|
} |
|
|
|
l_element_courant = (*l_element_courant).suivant; |
|
} |
|
|
|
if (l_element_courant == NULL) |
|
{ |
|
// Symbole externe non affichable |
|
|
|
if ((chaine = malloc((strlen("External symbol") + 1) |
|
* sizeof(unsigned char))) == NULL) |
|
{ |
|
(*s_etat_processus).erreur_systeme = |
|
d_es_allocation_memoire; |
|
return(NULL); |
|
} |
|
|
|
strcpy(chaine, "External symbol"); |
} |
} |
} |
} |
|
else |
|
{ |
|
BUG(1, uprintf("Unknown symbol type\n")); |
|
} |
|
|
return(chaine); |
return(chaine); |
} |
} |
Line 3387 formateur_nombre(struct_processus *s_eta
|
Line 3560 formateur_nombre(struct_processus *s_eta
|
strcpy(construction_chaine, "("); |
strcpy(construction_chaine, "("); |
|
|
tampon = formateur_reel(s_etat_processus, |
tampon = formateur_reel(s_etat_processus, |
(void *) &((*((struct_complexe16 *) |
&((*((struct_complexe16 *) |
valeur_numerique)).partie_reelle), 'R'); |
valeur_numerique)).partie_reelle), 'R'); |
|
|
if (tampon == NULL) |
if (tampon == NULL) |
Line 3425 formateur_nombre(struct_processus *s_eta
|
Line 3598 formateur_nombre(struct_processus *s_eta
|
} |
} |
|
|
tampon = formateur_reel(s_etat_processus, |
tampon = formateur_reel(s_etat_processus, |
(void *) &((*((struct_complexe16 *) |
&((*((struct_complexe16 *) |
valeur_numerique)).partie_imaginaire), 'R'); |
valeur_numerique)).partie_imaginaire), 'R'); |
|
|
if (tampon == NULL) |
if (tampon == NULL) |
Line 3512 formateur_reel(struct_processus *s_etat_
|
Line 3685 formateur_reel(struct_processus *s_etat_
|
logical1 i50; |
logical1 i50; |
|
|
long correction; |
long correction; |
|
long dernier_chiffre_significatif; |
long exposant; |
long exposant; |
|
long i; |
|
long j; |
long longueur_utile; |
long longueur_utile; |
long longueur_utile_limite; |
long longueur_utile_limite; |
|
|
unsigned char *chaine; |
unsigned char *chaine; |
unsigned char format[16 + 1]; |
unsigned char format[32 + 1]; |
unsigned char mode[3 + 1]; |
unsigned char mode[3 + 1]; |
unsigned char *ptr; |
unsigned char *ptr; |
unsigned char tampon[16 + 1]; |
unsigned char tampon[32 + 1]; |
|
|
unsigned long i; |
|
unsigned long j; |
|
|
|
chaine = (unsigned char *) malloc((32 + 1) * sizeof(unsigned char)); |
chaine = (unsigned char *) malloc((32 + 1) * sizeof(unsigned char)); |
|
|
Line 3536 formateur_reel(struct_processus *s_etat_
|
Line 3709 formateur_reel(struct_processus *s_etat_
|
|
|
if (type == 'R') |
if (type == 'R') |
{ |
{ |
|
# ifdef FP_INFINITE |
|
int signe; |
|
|
|
if ((signe = isinf((*((real8 *) valeur_numerique)))) != 0) |
|
{ |
|
if (signe > 0) |
|
{ |
|
strcpy(chaine, "infinity"); |
|
} |
|
else |
|
{ |
|
strcpy(chaine, "-infinity"); |
|
} |
|
|
|
return(chaine); |
|
} |
|
# endif |
|
|
|
if (isnan((*((real8 *) valeur_numerique)))) |
|
{ |
|
strcpy(chaine, "undef"); |
|
return(chaine); |
|
} |
|
|
tampon_reel = *((real8 *) valeur_numerique); |
tampon_reel = *((real8 *) valeur_numerique); |
|
|
if (tampon_reel > ((real8) 0)) |
if (tampon_reel > ((real8) 0)) |
Line 3551 formateur_reel(struct_processus *s_etat_
|
Line 3748 formateur_reel(struct_processus *s_etat_
|
exposant = 0; |
exposant = 0; |
} |
} |
|
|
mantisse = (*((real8 *) valeur_numerique)) / pow(10, exposant); |
mantisse = (*((real8 *) valeur_numerique)) / pow(10, (double) exposant); |
} |
} |
else |
else |
{ |
{ |
Line 3559 formateur_reel(struct_processus *s_etat_
|
Line 3756 formateur_reel(struct_processus *s_etat_
|
|
|
if (tampon_entier > ((integer8) 0)) |
if (tampon_entier > ((integer8) 0)) |
{ |
{ |
exposant = (long) floor(log10(tampon_entier)); |
exposant = (long) floor(log10((double) tampon_entier)); |
} |
} |
else if (tampon_entier < ((integer8) 0)) |
else if (tampon_entier < ((integer8) 0)) |
{ |
{ |
exposant = (long) floor(log10(-tampon_entier)); |
if (tampon_entier != INT64_MIN) |
|
{ |
|
exposant = (long) floor(log10((double) -tampon_entier)); |
|
} |
|
else |
|
{ |
|
tampon_reel = (real8) tampon_entier; |
|
exposant = (long) floor(log10(-tampon_reel)); |
|
} |
} |
} |
else |
else |
{ |
{ |
exposant = 0; |
exposant = 0; |
} |
} |
|
|
mantisse = (*((integer8 *) valeur_numerique)) / pow(10, exposant); |
mantisse = ((real8) (*((integer8 *) valeur_numerique))) / |
|
pow(10, (double) exposant); |
} |
} |
|
|
longueur_utile = 0; |
longueur_utile = 0; |
Line 3644 formateur_reel(struct_processus *s_etat_
|
Line 3850 formateur_reel(struct_processus *s_etat_
|
} |
} |
} |
} |
|
|
|
// Test portant sur le nombre de chiffres significatifs dans |
|
// le cas du format STD pour que 1.2E-15 apparaisse en notation |
|
// SCI car il y a une perte de précision dans l'affichage. |
|
|
|
if ((strcmp(mode, "STD") == 0) && (type == 'R')) |
|
{ |
|
if (abs(*((real8 *) valeur_numerique)) < 1) |
|
{ |
|
dernier_chiffre_significatif = -exposant; |
|
sprintf(tampon, ".%f", mantisse); |
|
|
|
ptr = &(tampon[strlen(tampon) - 1]); |
|
|
|
while((*ptr) != '.') |
|
{ |
|
if ((*ptr) != '0') |
|
{ |
|
dernier_chiffre_significatif++; |
|
} |
|
|
|
ptr--; |
|
} |
|
} |
|
else |
|
{ |
|
dernier_chiffre_significatif = 0; |
|
} |
|
} |
|
else |
|
{ |
|
dernier_chiffre_significatif = 0; |
|
} |
|
|
if ((strcmp(mode, "SCI") == 0) || |
if ((strcmp(mode, "SCI") == 0) || |
((strcmp(mode, "STD") == 0) && ((exposant > |
((strcmp(mode, "STD") == 0) && ((exposant > |
longueur_utile_limite) || |
longueur_utile_limite) || (dernier_chiffre_significatif > 15) || |
(exposant < -longueur_utile_limite))) || |
(exposant < -longueur_utile_limite))) || |
((strcmp(mode, "FIX") == 0) && |
((strcmp(mode, "FIX") == 0) && |
((exposant >= longueur_utile_limite) || |
((exposant >= longueur_utile_limite) || |
Line 3690 formateur_reel(struct_processus *s_etat_
|
Line 3929 formateur_reel(struct_processus *s_etat_
|
|
|
sprintf(format, "%%.%luf", longueur_utile); |
sprintf(format, "%%.%luf", longueur_utile); |
|
|
sprintf(tampon, format, (mantisse * pow(10, exposant))); |
sprintf(tampon, format, (mantisse * pow(10, (double) exposant))); |
strcpy(chaine, tampon); |
strcpy(chaine, tampon); |
} |
} |
else if (strcmp(mode, "ENG") == 0) |
else if (strcmp(mode, "ENG") == 0) |
Line 3713 formateur_reel(struct_processus *s_etat_
|
Line 3952 formateur_reel(struct_processus *s_etat_
|
longueur_utile -= correction; |
longueur_utile -= correction; |
sprintf(format, "%%.%luf", longueur_utile); |
sprintf(format, "%%.%luf", longueur_utile); |
|
|
sprintf(tampon, format, (mantisse * pow(10, correction))); |
sprintf(tampon, format, (mantisse * pow(10, (double) correction))); |
strcpy(chaine, tampon); |
strcpy(chaine, tampon); |
strcat(chaine, "E"); |
strcat(chaine, "E"); |
sprintf(tampon, "%ld", (exposant - correction)); |
sprintf(tampon, "%ld", (exposant - correction)); |
Line 3733 formateur_reel(struct_processus *s_etat_
|
Line 3972 formateur_reel(struct_processus *s_etat_
|
|
|
if (exposant >= 0) |
if (exposant >= 0) |
{ |
{ |
sprintf(format, "%%.%luf", (longueur_utile_limite - exposant |
if ((exposant + 1) < longueur_utile_limite) |
- 1)); |
{ |
|
sprintf(format, "%%.%luf", (longueur_utile_limite - exposant |
|
- 1)); |
|
} |
|
else |
|
{ |
|
strcpy(format, "%.0f."); |
|
} |
} |
} |
else |
else |
{ |
{ |
Line 3743 formateur_reel(struct_processus *s_etat_
|
Line 3989 formateur_reel(struct_processus *s_etat_
|
|
|
sprintf(tampon, format, *((real8 *) valeur_numerique)); |
sprintf(tampon, format, *((real8 *) valeur_numerique)); |
|
|
i = strlen(tampon) - 1; |
i = ((long) strlen(tampon)) - 1; |
while(tampon[i] == '0') |
while(tampon[i] == '0') |
{ |
{ |
tampon[i] = d_code_fin_chaine; |
tampon[i] = d_code_fin_chaine; |
Line 3752 formateur_reel(struct_processus *s_etat_
|
Line 3998 formateur_reel(struct_processus *s_etat_
|
|
|
if (ds_imposition_separateur_decimal == d_faux) |
if (ds_imposition_separateur_decimal == d_faux) |
{ |
{ |
i = strlen(tampon) - 1; |
i = ((long) strlen(tampon)) - 1; |
if (tampon[i] == '.') |
if (tampon[i] == '.') |
{ |
{ |
tampon[i] = d_code_fin_chaine; |
tampon[i] = d_code_fin_chaine; |
} |
} |
} |
} |
} |
} |
|
|
strcpy(chaine, tampon); |
strcpy(chaine, tampon); |
} |
} |
|
|
if (test_cfsf(s_etat_processus, 48) == d_vrai) |
if (test_cfsf(s_etat_processus, 48) == d_vrai) |
{ |
{ |
for(i = 0; i < strlen(chaine); i++) |
for(i = 0; i < (long) strlen(chaine); i++) |
{ |
{ |
if (chaine[i] == '.') |
if (chaine[i] == '.') |
{ |
{ |