version 1.79, 2013/04/04 07:51:56
|
version 1.83, 2013/09/26 15:38:38
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.14 |
RPL/2 (R) version 4.1.16 |
Copyright (C) 1989-2013 Dr. BERTRAND Joël |
Copyright (C) 1989-2013 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
Line 865 instruction_read(struct_processus *s_eta
|
Line 865 instruction_read(struct_processus *s_eta
|
integer8 position_finale; |
integer8 position_finale; |
integer8 position_initiale; |
integer8 position_initiale; |
|
|
|
logical1 device; |
logical1 format_degenere; |
logical1 format_degenere; |
logical1 indicateur_48; |
logical1 indicateur_48; |
logical1 presence_chaine; |
logical1 presence_chaine; |
Line 1973 instruction_read(struct_processus *s_eta
|
Line 1974 instruction_read(struct_processus *s_eta
|
|
|
BUG(((*descripteur).type != 'C'), uprintf("Bad filtype !\n")); |
BUG(((*descripteur).type != 'C'), uprintf("Bad filtype !\n")); |
longueur_enregistrement = 0; |
longueur_enregistrement = 0; |
|
device = d_faux; |
|
|
if ((position_initiale = ftell((*descripteur).descripteur_c)) |
if ((position_initiale = ftell((*descripteur).descripteur_c)) |
== -1) |
== -1) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_erreur_fichier; |
if (errno == ESPIPE) |
return; |
{ |
|
device = d_vrai; |
|
} |
|
else |
|
{ |
|
(*s_etat_processus).erreur_systeme = |
|
d_es_erreur_fichier; |
|
return; |
|
} |
} |
} |
|
|
l_element_courant_format = (struct_liste_chainee *) |
l_element_courant_format = (struct_liste_chainee *) |
Line 2072 instruction_read(struct_processus *s_eta
|
Line 2082 instruction_read(struct_processus *s_eta
|
longueur_enregistrement++; |
longueur_enregistrement++; |
} while((c != '\n') && (c != EOF)); |
} while((c != '\n') && (c != EOF)); |
|
|
if (fseek((*descripteur).descripteur_c, |
if (device == d_faux) |
(long) position_initiale, SEEK_SET) != 0) |
|
{ |
{ |
liberation(s_etat_processus, s_objet_argument_1); |
if (fseek((*descripteur).descripteur_c, |
liberation(s_etat_processus, s_objet_resultat); |
(long) position_initiale, SEEK_SET) != 0) |
|
{ |
|
liberation(s_etat_processus, |
|
s_objet_argument_1); |
|
liberation(s_etat_processus, s_objet_resultat); |
|
|
(*s_etat_processus).erreur_systeme = |
(*s_etat_processus).erreur_systeme = |
d_es_erreur_fichier; |
d_es_erreur_fichier; |
return; |
return; |
|
} |
} |
} |
} |
} |
else |
else |