version 1.2, 2010/04/21 13:45:42
|
version 1.4, 2010/05/24 16:29:27
|
Line 58 reencodage(unsigned char *chaine_entree,
|
Line 58 reencodage(unsigned char *chaine_entree,
|
do |
do |
{ |
{ |
longueur_sortie = d_LONGUEUR; |
longueur_sortie = d_LONGUEUR; |
|
longueur_entree = strlen(buffer_entree); |
pointeur = buffer_sortie; |
pointeur = buffer_sortie; |
|
|
if ((ios = iconv(transcodage, (char **) &buffer_entree, |
if ((ios = iconv(transcodage, (char **) &buffer_entree, |
&longueur_entree, (char **) &pointeur, &longueur_sortie)) |
&longueur_entree, (char **) &pointeur, &longueur_sortie)) |
== (size_t) -1) |
== (size_t) -1) |
{ |
{ |
// On autorise les erreurs EINVAL et EILSEQ |
// On autorise les erreurs EINVAL et E2BIG |
if (errno == EILSEQ) |
if (errno == EILSEQ) |
{ |
{ |
perror("iconv"); |
perror("iconv"); |
Line 107 main(int argc, char *argv[])
|
Line 108 main(int argc, char *argv[])
|
unsigned char *fichier_source; |
unsigned char *fichier_source; |
unsigned char *fichier_destination; |
unsigned char *fichier_destination; |
|
|
|
unsigned long drapeau; |
unsigned long i; |
unsigned long i; |
|
unsigned long j; |
unsigned long nombre_caracteres; |
unsigned long nombre_caracteres; |
|
|
nom_fichier_source = NULL; |
nom_fichier_source = NULL; |
Line 274 main(int argc, char *argv[])
|
Line 277 main(int argc, char *argv[])
|
// Lecture depuis stdin |
// Lecture depuis stdin |
|
|
fichier_source = NULL; |
fichier_source = NULL; |
|
drapeau = 0; |
|
|
for(i = 1;; i++) |
for(i = 1; drapeau == 0; i++) |
{ |
{ |
if ((fichier_source = realloc(fichier_source, |
if ((fichier_source = realloc(fichier_source, |
((d_LONGUEUR * i) + 1) * sizeof(unsigned char))) == NULL) |
((d_LONGUEUR * i) + 1) * sizeof(unsigned char))) == NULL) |
Line 284 main(int argc, char *argv[])
|
Line 288 main(int argc, char *argv[])
|
return(-1); |
return(-1); |
} |
} |
|
|
if (fread(&(fichier_source[d_LONGUEUR * (i - 1)]), |
fflush(stdin); |
sizeof(unsigned char), d_LONGUEUR, stdin) < d_LONGUEUR) |
|
|
for(j = 0; (j < d_LONGUEUR) && (drapeau == 0); j++) |
{ |
{ |
break; |
if ((fichier_source[(d_LONGUEUR * (i - 1)) + j] = getc(stdin)) |
|
== (unsigned char) EOF) |
|
{ |
|
fichier_source[(d_LONGUEUR * (i - 1)) + j] = 0; |
|
drapeau = 1; |
|
} |
} |
} |
} |
} |
} |
} |