version 1.33, 2013/03/01 09:29:30
|
version 1.41, 2014/01/26 18:21:30
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.13 |
RPL/2 (R) version 4.1.17 |
Copyright (C) 1989-2013 Dr. BERTRAND Joël |
Copyright (C) 1989-2014 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
|
|
Line 37
|
Line 37
|
|
|
unsigned char * |
unsigned char * |
formateur_flux(struct_processus *s_etat_processus, unsigned char *donnees, |
formateur_flux(struct_processus *s_etat_processus, unsigned char *donnees, |
long *longueur) |
integer8 *longueur) |
{ |
{ |
unsigned char *chaine; |
unsigned char *chaine; |
|
|
Line 107 formateur_flux(struct_processus *s_etat_
|
Line 107 formateur_flux(struct_processus *s_etat_
|
case '7': |
case '7': |
case '8': |
case '8': |
case '9': |
case '9': |
ec = (*ptr_lecture) - '0'; |
ec = (unsigned char) ((*ptr_lecture) - '0'); |
break; |
break; |
|
|
case 'A': |
case 'A': |
Line 116 formateur_flux(struct_processus *s_etat_
|
Line 116 formateur_flux(struct_processus *s_etat_
|
case 'D': |
case 'D': |
case 'E': |
case 'E': |
case 'F': |
case 'F': |
ec = ((*ptr_lecture) - 'A') + 10; |
ec = (unsigned char) (((*ptr_lecture) - 'A') |
|
+ 10); |
break; |
break; |
|
|
default: |
default: |
Line 125 formateur_flux(struct_processus *s_etat_
|
Line 126 formateur_flux(struct_processus *s_etat_
|
break; |
break; |
} |
} |
|
|
ec *= 0x10; |
ec = (unsigned char) (ec * (unsigned char) 0x10); |
ptr_lecture++; |
ptr_lecture++; |
|
|
switch(*ptr_lecture) |
switch(*ptr_lecture) |
Line 140 formateur_flux(struct_processus *s_etat_
|
Line 141 formateur_flux(struct_processus *s_etat_
|
case '7': |
case '7': |
case '8': |
case '8': |
case '9': |
case '9': |
ec += (*ptr_lecture) - '0'; |
ec = (unsigned char) (ec + |
|
((*ptr_lecture) - '0')); |
break; |
break; |
|
|
case 'A': |
case 'A': |
Line 149 formateur_flux(struct_processus *s_etat_
|
Line 151 formateur_flux(struct_processus *s_etat_
|
case 'D': |
case 'D': |
case 'E': |
case 'E': |
case 'F': |
case 'F': |
ec += ((*ptr_lecture) - 'A') + 10; |
ec = (unsigned char) (ec + |
|
(((*ptr_lecture) - 'A') + 10)); |
break; |
break; |
|
|
default: |
default: |
Line 253 formateur_flux(struct_processus *s_etat_
|
Line 256 formateur_flux(struct_processus *s_etat_
|
|
|
(*ptr_ecriture) = d_code_fin_chaine; |
(*ptr_ecriture) = d_code_fin_chaine; |
|
|
if ((chaine = realloc(chaine, ((((*longueur) = ptr_ecriture - chaine)) + 1) |
if ((chaine = realloc(chaine, (((size_t) ((*longueur) = |
* sizeof(unsigned char))) == NULL) |
ptr_ecriture - chaine)) + 1) * sizeof(unsigned char))) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return(NULL); |
return(NULL); |
Line 278 formateur_flux(struct_processus *s_etat_
|
Line 281 formateur_flux(struct_processus *s_etat_
|
|
|
unsigned char * |
unsigned char * |
analyse_flux(struct_processus *s_etat_processus, unsigned char *donnees, |
analyse_flux(struct_processus *s_etat_processus, unsigned char *donnees, |
long longueur) |
integer8 longueur) |
{ |
{ |
long longueur_courante; |
integer8 longueur_courante; |
|
|
long offset; |
long offset; |
|
|
unsigned char *chaine; |
unsigned char *chaine; |
Line 288 analyse_flux(struct_processus *s_etat_pr
|
Line 292 analyse_flux(struct_processus *s_etat_pr
|
unsigned char *ptr_ecriture; |
unsigned char *ptr_ecriture; |
unsigned char *ptr_lecture; |
unsigned char *ptr_lecture; |
|
|
if ((chaine = malloc((longueur_courante = longueur + 1) * |
if ((chaine = malloc(((size_t) (longueur_courante = longueur + 1)) * |
sizeof(unsigned char))) == NULL) |
sizeof(unsigned char))) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
Line 312 analyse_flux(struct_processus *s_etat_pr
|
Line 316 analyse_flux(struct_processus *s_etat_pr
|
{ |
{ |
offset = ptr_ecriture - chaine; |
offset = ptr_ecriture - chaine; |
|
|
if ((chaine = realloc(chaine, (++longueur_courante) |
if ((chaine = realloc(chaine, ((size_t) (++longueur_courante)) |
* sizeof(unsigned char))) == NULL) |
* sizeof(unsigned char))) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = |
(*s_etat_processus).erreur_systeme = |
Line 375 analyse_flux(struct_processus *s_etat_pr
|
Line 379 analyse_flux(struct_processus *s_etat_pr
|
{ |
{ |
offset = ptr_ecriture - chaine; |
offset = ptr_ecriture - chaine; |
|
|
if ((chaine = realloc(chaine, (longueur_courante = |
if ((chaine = realloc(chaine, ((size_t) (longueur_courante = |
longueur_courante + 3) * sizeof(unsigned char))) |
longueur_courante + 3)) * sizeof(unsigned char))) |
== NULL) |
== NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = |
(*s_etat_processus).erreur_systeme = |
Line 853 conversion_chaine(struct_processus *s_et
|
Line 857 conversion_chaine(struct_processus *s_et
|
{ |
{ |
int (*fonction_1)(int); |
int (*fonction_1)(int); |
int (*fonction_2)(int); |
int (*fonction_2)(int); |
|
int registre; |
|
|
unsigned char *ptr; |
unsigned char *ptr; |
unsigned char *ptr2; |
unsigned char *ptr2; |
unsigned char registre; |
|
|
|
if (type == 'M') |
if (type == 'M') |
{ |
{ |
Line 881 conversion_chaine(struct_processus *s_et
|
Line 885 conversion_chaine(struct_processus *s_et
|
|
|
if (fonction_2(registre) == (*ptr)) |
if (fonction_2(registre) == (*ptr)) |
{ |
{ |
(*ptr) = registre; |
(*ptr) = (unsigned char) registre; |
} |
} |
} |
} |
|
|