1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| nom_de_fichier=NULL;
fichier=enregistre_tmp_xml(ooo,&nom_de_fichier);
sprintf(affichage,"%s%cLibO%cfeuille.zip",tmp1,SEPARATEUR,SEPARATEUR);
sprintf(aff,"%s%c%s.odt",((char **)param)[CHEMIN],SEPARATEUR,((char **)param)[NOM]);
copie_fichier(aff,affichage);
if (nom_de_fichier)
{
fclose(fichier);
fichier=fopen(nom_de_fichier,"r");
}
f_zip=zip_open(aff,ZIP_CREATE,NULL);
n_zip=zip_source_filep(f_zip,fichier,0,0); /* récupération du fichier sous forme FILE * sans avoir à le copier sur le disque */
zip_replace(f_zip,zip_name_locate(f_zip,"content.xml",ZIP_FL_NOCASE) ,n_zip); /* on l'injecte dans l'archive en lui donnant un nom */
zip_close(f_zip); /* on ferme l'archive */
if (nom_de_fichier)
{
fclose(fichier);
free(nom_de_fichier);
nom_de_fichier=NULL;
} |
Partager