version 1.61, 2013/03/20 17:11:43
|
version 1.65, 2013/03/22 13:09:13
|
Line 4303 formateur_fichier_reel(struct_processus
|
Line 4303 formateur_fichier_reel(struct_processus
|
real8 mantisse; |
real8 mantisse; |
real8 tampon_reel; |
real8 tampon_reel; |
|
|
|
integer8 i; |
integer8 tampon_entier; |
integer8 tampon_entier; |
|
|
long correction; |
long correction; |
Line 4315 formateur_fichier_reel(struct_processus
|
Line 4316 formateur_fichier_reel(struct_processus
|
unsigned char mode[3 + 1]; |
unsigned char mode[3 + 1]; |
unsigned char tampon[16 + 1]; |
unsigned char tampon[16 + 1]; |
|
|
unsigned long i; |
|
|
|
chaine = (unsigned char *) malloc((32 + 1) * sizeof(unsigned char)); |
chaine = (unsigned char *) malloc((32 + 1) * sizeof(unsigned char)); |
|
|
if (chaine == NULL) |
if (chaine == NULL) |
Line 4365 formateur_fichier_reel(struct_processus
|
Line 4364 formateur_fichier_reel(struct_processus
|
pow(10, (double) exposant); |
pow(10, (double) exposant); |
} |
} |
|
|
longueur_utile = longueur; |
longueur_utile = (long) longueur; |
longueur_utile_limite = 15; |
longueur_utile_limite = 15; |
|
|
if (longueur_utile > longueur_utile_limite) |
if (longueur_utile > longueur_utile_limite) |
Line 4479 formateur_fichier_reel(struct_processus
|
Line 4478 formateur_fichier_reel(struct_processus
|
|
|
sprintf(tampon, format, *((real8 *) valeur_numerique)); |
sprintf(tampon, format, *((real8 *) valeur_numerique)); |
|
|
i = strlen(tampon) - 1; |
i = (integer8) (strlen(tampon)) - 1; |
while(tampon[i] == '0') |
while(tampon[i] == '0') |
{ |
{ |
tampon[i] = 0; |
tampon[i] = 0; |
Line 4488 formateur_fichier_reel(struct_processus
|
Line 4487 formateur_fichier_reel(struct_processus
|
|
|
if (ds_imposition_separateur_decimal == d_faux) |
if (ds_imposition_separateur_decimal == d_faux) |
{ |
{ |
i = strlen(tampon) - 1; |
i = ((integer8) strlen(tampon)) - 1; |
if (tampon[i] == '.') |
if (tampon[i] == '.') |
{ |
{ |
tampon[i] = 0; |
tampon[i] = 0; |
Line 4503 formateur_fichier_reel(struct_processus
|
Line 4502 formateur_fichier_reel(struct_processus
|
{ |
{ |
if (strlen(chaine) > (size_t) longueur_champ) |
if (strlen(chaine) > (size_t) longueur_champ) |
{ |
{ |
for(i = 0; i < (unsigned long) longueur_champ; i++) |
for(i = 0; i < longueur_champ; i++) |
{ |
{ |
chaine[i] = '*'; |
chaine[i] = '*'; |
} |
} |
Line 5258 lecture_fichier_non_formate(struct_proce
|
Line 5257 lecture_fichier_non_formate(struct_proce
|
return(NULL); |
return(NULL); |
} |
} |
|
|
(*((integer8 *) (*s_objet).objet)) = 0; |
// Récupération des données avec extension de signe. |
|
|
for(i = 0; i < (signed) deplacement; i++) |
|
{ |
{ |
(*((integer8 *) (*s_objet).objet)) |= |
integer1 i1; |
((integer8) octets[i]) |
integer2 i2; |
<< (8 * ((((signed) deplacement) - 1) - i)); |
integer4 i4; |
|
integer8 i8; |
|
|
|
i1 = 0; |
|
i2 = 0; |
|
i4 = 0; |
|
i8 = 0; |
|
|
|
for(i = 0; i < (signed) deplacement; i++) |
|
{ |
|
switch(deplacement) |
|
{ |
|
case 1: |
|
i1 = octets[0]; |
|
break; |
|
|
|
case 2: |
|
i2 |= (integer2) (((integer8) octets[i]) << |
|
(8 * ((((signed) deplacement) - 1) |
|
- i))); |
|
break; |
|
|
|
case 4: |
|
i4 |= (integer4) (((integer8) octets[i]) << |
|
(8 * ((((signed) deplacement) - 1) |
|
- i))); |
|
break; |
|
|
|
case 8: |
|
i8 |= (integer8) (((integer8) octets[i]) << |
|
(8 * ((((signed) deplacement) - 1) |
|
- i))); |
|
break; |
|
} |
|
} |
|
|
|
switch(deplacement) |
|
{ |
|
case 1: |
|
(*((integer8 *) (*s_objet).objet)) = |
|
(integer8) i1; |
|
break; |
|
|
|
case 2: |
|
(*((integer8 *) (*s_objet).objet)) = |
|
(integer8) i2; |
|
break; |
|
|
|
case 4: |
|
(*((integer8 *) (*s_objet).objet)) = |
|
(integer8) i4; |
|
break; |
|
|
|
case 8: |
|
(*((integer8 *) (*s_objet).objet)) = |
|
(integer8) i8; |
|
break; |
|
} |
} |
} |
|
|
break; |
break; |