version 1.19, 2010/09/07 08:58:04
|
version 1.23, 2010/09/23 15:27:34
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.0.19 |
RPL/2 (R) version 4.0.20 |
Copyright (C) 1989-2010 Dr. BERTRAND Joël |
Copyright (C) 1989-2010 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
Line 62 chainage(struct_processus *s_etat_proces
|
Line 62 chainage(struct_processus *s_etat_proces
|
# ifndef OS2 |
# ifndef OS2 |
unsigned char *instructions = "%s/bin/%s %s | " |
unsigned char *instructions = "%s/bin/%s %s | " |
"%s/bin/rpliconv `%s/bin/rplfile " |
"%s/bin/rpliconv `%s/bin/rplfile " |
"-m %s/share/rplfiles -i %s | awk " |
"-m %s/share/rplfiles -i %s | " |
"'{ print $3; }' | awk -F= " |
"%s/bin/rplawk " |
|
"'{ print $3; }' | %s/bin/rplawk -F= " |
"'{ if ($2 != \"\") printf(\"-f %%s\", " |
"'{ if ($2 != \"\") printf(\"-f %%s\", " |
"$2); }'` -t %s//IGNORE > %s"; |
"$2); }'` -t %s//IGNORE > %s"; |
# else |
# else |
unsigned char *instructions = "sh -c \"" |
unsigned char *instructions = BOURNE_SHELL " -c \"" |
"%s/bin/%s %s | " |
"%s/bin/%s %s | " |
"%s/bin/rpliconv `%s/bin/rplfile " |
"%s/bin/rpliconv `%s/bin/rplfile " |
"-m %s/share/rplfiles -i %s | awk " |
"-m %s/share/rplfiles -i %s | " |
"'{ print $3; }' | awk -F= " |
"%s/bin/rplawk " |
|
"'{ print $3; }' | %s/bin/rplawk -F= " |
"'{ if ($2 != \\\"\\\") " |
"'{ if ($2 != \\\"\\\") " |
"printf(\\\"-f %%s\\\", " |
"printf(\\\"-f %%s\\\", " |
"$2); }'` -t %s//IGNORE\" > %s"; |
"$2); }'` -t %s//IGNORE > %s\""; |
# endif |
# endif |
|
|
unsigned long unite_fichier; |
unsigned long unite_fichier; |
Line 119 chainage(struct_processus *s_etat_proces
|
Line 121 chainage(struct_processus *s_etat_proces
|
{ |
{ |
if ((commande = (unsigned char *) malloc((strlen(ds_preprocesseur) + |
if ((commande = (unsigned char *) malloc((strlen(ds_preprocesseur) + |
(2 * strlen((*s_etat_processus).nom_fichier_source)) + |
(2 * strlen((*s_etat_processus).nom_fichier_source)) + |
(4 * strlen(d_exec_path)) + strlen(d_locale) + |
(6 * strlen(d_exec_path)) + strlen(d_locale) + |
strlen(nom_fichier_temporaire) + strlen(instructions) - 13) |
strlen(nom_fichier_temporaire) + strlen(instructions) - 21) |
* 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 134 chainage(struct_processus *s_etat_proces
|
Line 136 chainage(struct_processus *s_etat_proces
|
(*s_etat_processus).nom_fichier_source, |
(*s_etat_processus).nom_fichier_source, |
d_exec_path, d_exec_path, |
d_exec_path, d_exec_path, |
d_exec_path, (*s_etat_processus).nom_fichier_source, |
d_exec_path, (*s_etat_processus).nom_fichier_source, |
d_locale, nom_fichier_temporaire); |
d_exec_path, d_exec_path, d_locale, nom_fichier_temporaire); |
|
|
if (alsprintf(&executable_candidat, "%s/bin/rpliconv", |
if (alsprintf(&executable_candidat, "%s/bin/rpliconv", |
d_exec_path) < 0) |
d_exec_path) < 0) |
Line 204 chainage(struct_processus *s_etat_proces
|
Line 206 chainage(struct_processus *s_etat_proces
|
} |
} |
|
|
free(executable_candidat); |
free(executable_candidat); |
|
|
|
if (alsprintf(&executable_candidat, "%s/bin/rplawk", |
|
d_exec_path) < 0) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
|
return(d_erreur); |
|
} |
|
|
|
if (controle(s_etat_processus, executable_candidat, "md5", |
|
rplawk_md5) != d_vrai) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_somme_controle; |
|
return(d_erreur); |
|
} |
|
|
|
if (controle(s_etat_processus, executable_candidat, "sha1", |
|
rplawk_sha1) != d_vrai) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_somme_controle; |
|
return(d_erreur); |
|
} |
|
|
|
free(executable_candidat); |
} |
} |
else |
else |
{ |
{ |
if ((commande = (unsigned char *) malloc((strlen(ds_preprocesseur) + |
if ((commande = (unsigned char *) malloc((strlen(ds_preprocesseur) + |
(2 * strlen((*s_etat_processus).nom_fichier_source)) + |
(2 * strlen((*s_etat_processus).nom_fichier_source)) + |
(4 * strlen((*s_etat_processus).rpl_home)) + |
(6 * strlen((*s_etat_processus).rpl_home)) + |
strlen(nom_fichier_temporaire) + strlen(instructions) - 11) |
strlen(d_locale) + |
|
strlen(nom_fichier_temporaire) + strlen(instructions) - 21) |
* 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 220 chainage(struct_processus *s_etat_proces
|
Line 246 chainage(struct_processus *s_etat_proces
|
} |
} |
|
|
sprintf(commande, instructions, |
sprintf(commande, instructions, |
(*s_etat_processus).nom_fichier_source, |
|
(*s_etat_processus).rpl_home, ds_preprocesseur, |
(*s_etat_processus).rpl_home, ds_preprocesseur, |
(*s_etat_processus).rpl_home, (*s_etat_processus).rpl_home, |
(*s_etat_processus).nom_fichier_source, |
|
(*s_etat_processus).rpl_home, |
|
(*s_etat_processus).rpl_home, |
(*s_etat_processus).rpl_home, |
(*s_etat_processus).rpl_home, |
(*s_etat_processus).nom_fichier_source, |
(*s_etat_processus).nom_fichier_source, |
nom_fichier_temporaire); |
(*s_etat_processus).rpl_home, |
|
(*s_etat_processus).rpl_home, |
|
d_locale, nom_fichier_temporaire); |
|
|
if (alsprintf(&executable_candidat, "%s/bin/rpliconv", |
if (alsprintf(&executable_candidat, "%s/bin/rpliconv", |
(*s_etat_processus).rpl_home) < 0) |
(*s_etat_processus).rpl_home) < 0) |
Line 292 chainage(struct_processus *s_etat_proces
|
Line 321 chainage(struct_processus *s_etat_proces
|
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_somme_controle; |
(*s_etat_processus).erreur_systeme = d_es_somme_controle; |
return(d_erreur); |
return(d_erreur); |
|
} |
|
|
|
free(executable_candidat); |
|
|
|
if (alsprintf(&executable_candidat, "%s/bin/rplawk", |
|
(*s_etat_processus).rpl_home) < 0) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
|
return(d_erreur); |
|
} |
|
|
|
if (controle(s_etat_processus, executable_candidat, "md5", |
|
rplawk_md5) != d_vrai) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_somme_controle; |
|
return(d_erreur); |
|
} |
|
|
|
if (controle(s_etat_processus, executable_candidat, "sha1", |
|
rplawk_sha1) != d_vrai) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_somme_controle; |
|
return(d_erreur); |
} |
} |
|
|
free(executable_candidat); |
free(executable_candidat); |