void KGameSvgDocument::load(const QString& svgFilename) { setSvgFilename(svgFilename); load(); }
int getFileContent(char* progName,char* filename,int sockcli) { char nomFichierSvg[50]; // Nom du fichier de sauvegarde du résultat de la requète setSvgFilename(filename, nomFichierSvg); mkdir("../tmp",S_IRWXU | S_IRWXG |S_IRWXO); // création du répertoire tmp s'il n'existe pas printf("[%d] Récupère le fichier et l'écrit dans la sortie standard. \n\n", getpid()); FILE * fd; fd = fopen(nomFichierSvg , "w"); while(true) { memset(buf, 0, BUF_SIZE); // version avec recv // if ( (nread = recv(sockcli, buf, BUF_SIZE, 0)) == -1 ) if ( (nread = read(sockcli, buf, BUF_SIZE)) == -1 ) // Lit le socket { perror(" main()/read()\n"); fflush(stderr); printf("[%ld] %s: Echec de lecture sur la socket.\n",(long int) getpid(), progName); fflush(stdout); exit(EXIT_FAILURE); } fputs( buf, fd); // Ecrit dans le fichier printf("%s",buf); // Ecrit dans la sortie standard fflush(stdout); if ( nread < BUF_SIZE ) { printf("\n[%ld] Le transfert du fichier \"%s\" est terminé (voir %s). \n", (long int) getpid(), filename, nomFichierSvg); fflush(fd); fflush(stdout); if (ferror(fd)) { /* une erreur s'est produite */ perror (filename); } if(fclose(fd) == EOF) // ferme le fichier { printf("[%d] .............. Problème de fermeture du fichier \"%s\".\n",getpid() , filename); exit(1); } return EXIT_SUCCESS; } } return EXIT_SUCCESS; }