version 1.103, 2011/11/30 17:21:07
|
version 1.105, 2011/11/30 20:50:22
|
Line 37 rplinit(int argc, char *argv[], char *en
|
Line 37 rplinit(int argc, char *argv[], char *en
|
# include "copyright-conv.h" |
# include "copyright-conv.h" |
# include "licence-conv.h" |
# include "licence-conv.h" |
|
|
|
char **arg_exec; |
|
|
# ifdef HAVE_STACK_OVERFLOW_RECOVERY |
# ifdef HAVE_STACK_OVERFLOW_RECOVERY |
char pile_signaux[SIGSTKSZ]; |
char pile_signaux[SIGSTKSZ]; |
# endif |
# endif |
Line 201 rplinit(int argc, char *argv[], char *en
|
Line 203 rplinit(int argc, char *argv[], char *en
|
return(EXIT_FAILURE); |
return(EXIT_FAILURE); |
} |
} |
|
|
|
if ((arg_exec = malloc((argc + 1) * sizeof(char *))) == NULL) |
|
{ |
|
if ((langue = getenv("LANG")) != NULL) |
|
{ |
|
if (strncmp(langue, "fr", 2) == 0) |
|
{ |
|
uprintf("+++Système : Mémoire insuffisante\n"); |
|
} |
|
else |
|
{ |
|
uprintf("+++System : Not enough memory\n"); |
|
} |
|
} |
|
else |
|
{ |
|
uprintf("+++System : Not enough memory\n"); |
|
} |
|
|
|
return(EXIT_FAILURE); |
|
} |
|
|
|
for(i = 0; i < (unsigned long) argc; i++) |
|
{ |
|
arg_exec[i] = argv[i]; |
|
} |
|
|
|
argv[argc] = NULL; |
|
|
initialisation_contexte_cas(s_etat_processus); |
initialisation_contexte_cas(s_etat_processus); |
|
|
(*s_etat_processus).exception = d_ep; |
(*s_etat_processus).exception = d_ep; |
Line 3596 rplinit(int argc, char *argv[], char *en
|
Line 3626 rplinit(int argc, char *argv[], char *en
|
if ((*s_etat_processus).requete_redemarrage == d_vrai) |
if ((*s_etat_processus).requete_redemarrage == d_vrai) |
{ |
{ |
chdir(repertoire_initial); |
chdir(repertoire_initial); |
execve(argv[0], (*(argv + 1)), envp); |
execvp(arg_exec[0], &(arg_exec[0])); |
erreur = d_erreur; |
erreur = d_erreur; |
} |
} |
|
|
// Libération de la copie des arguments |
free(arg_exec); |
// A FAIRE |
|
|
|
free(s_etat_processus); |
free(s_etat_processus); |
|
|
# ifdef DEBUG_MEMOIRE |
# ifdef DEBUG_MEMOIRE |