Files are now opened in binary mode. Saving/Loading now works on windows (It didn't previously - including in the
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@140 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
		
							parent
							
								
									2e78536bf2
								
							
						
					
					
						commit
						b3bcf1d841
					
				
							
								
								
									
										133
									
								
								loadsave.c
									
									
									
									
									
								
							
							
						
						
									
										133
									
								
								loadsave.c
									
									
									
									
									
								
							@ -7,7 +7,7 @@
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
#include <SDL/SDL_byteorder.h>
 | 
			
		||||
#include <SDL/SDL_endian.h>
 | 
			
		||||
 | 
			
		||||
#include "const.h"
 | 
			
		||||
#include "struct.h"
 | 
			
		||||
@ -32,6 +32,60 @@
 | 
			
		||||
  #define PERMISSIONS_ECRITURE (S_IRUSR|S_IWUSR)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// Lit un ou plusieurs word Little-Endian
 | 
			
		||||
size_t read_word_le(int fd, word *buffer, size_t number)
 | 
			
		||||
{
 | 
			
		||||
    size_t Charge = read(fd, buffer, number * sizeof(word));
 | 
			
		||||
    #if SDL_BYTEORDER != SDL_LIL_ENDIAN
 | 
			
		||||
    {
 | 
			
		||||
        int i;
 | 
			
		||||
        for (i = 0; i < number; i++)
 | 
			
		||||
            buffer[i] = SDL_Swap16(buffer[i]);
 | 
			
		||||
    }
 | 
			
		||||
    #endif
 | 
			
		||||
    return Charge;
 | 
			
		||||
}
 | 
			
		||||
// Lit un ou plusieurs word Big-Endian
 | 
			
		||||
size_t read_word_be(int fd, word *buffer, size_t number)
 | 
			
		||||
{
 | 
			
		||||
    size_t Charge = read(fd, buffer, number * sizeof(word));
 | 
			
		||||
    #if SDL_BYTEORDER != SDL_BIG_ENDIAN
 | 
			
		||||
    {
 | 
			
		||||
        int i;
 | 
			
		||||
        for (i = 0; i < number; i++)
 | 
			
		||||
            buffer[i] = SDL_Swap16(buffer[i]);
 | 
			
		||||
    }
 | 
			
		||||
    #endif
 | 
			
		||||
    return Charge;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Lit un ou plusieurs dword Little-Endian
 | 
			
		||||
size_t read_dword_le(int fd, dword *buffer, size_t number)
 | 
			
		||||
{
 | 
			
		||||
    size_t Charge = read(fd, buffer, number * sizeof(dword));
 | 
			
		||||
    #if SDL_BYTEORDER != SDL_LIL_ENDIAN
 | 
			
		||||
    {
 | 
			
		||||
        int i;
 | 
			
		||||
        for (i = 0; i < number; i++)
 | 
			
		||||
            buffer[i] = SDL_Swap32(buffer[i]);
 | 
			
		||||
    }
 | 
			
		||||
    #endif
 | 
			
		||||
    return Charge;
 | 
			
		||||
}
 | 
			
		||||
// Lit un ou plusieurs dword Big-Endian
 | 
			
		||||
size_t read_dword_be(int fd, dword *buffer, size_t number)
 | 
			
		||||
{
 | 
			
		||||
    size_t Charge = read(fd, buffer, number * sizeof(dword));
 | 
			
		||||
    #if SDL_BYTEORDER != SDL_BIG_ENDIAN
 | 
			
		||||
    {
 | 
			
		||||
        int i;
 | 
			
		||||
        for (i = 0; i < number; i++)
 | 
			
		||||
            buffer[i] = SDL_Swap32(buffer[i]);
 | 
			
		||||
    }
 | 
			
		||||
    #endif
 | 
			
		||||
    return Charge;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Chargement des pixels dans l'écran principal
 | 
			
		||||
void Pixel_Chargement_dans_ecran_courant(word Pos_X,word Pos_Y,byte Couleur)
 | 
			
		||||
{
 | 
			
		||||
@ -626,7 +680,7 @@ void Test_PAL(void)
 | 
			
		||||
  Erreur_fichier=1;
 | 
			
		||||
 | 
			
		||||
  // Ouverture du fichier
 | 
			
		||||
  Fichier=open(Nom_du_fichier,O_RDONLY);
 | 
			
		||||
  Fichier=open(Nom_du_fichier,O_RDONLY|O_BINARY);
 | 
			
		||||
  if (Fichier!=-1)
 | 
			
		||||
  {
 | 
			
		||||
      stat(Nom_du_fichier,&Informations_Fichier);
 | 
			
		||||
@ -652,7 +706,7 @@ void Load_PAL(void)
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
 | 
			
		||||
  // Ouverture du fichier
 | 
			
		||||
  Handle=open(Nom_du_fichier,O_RDONLY);
 | 
			
		||||
  Handle=open(Nom_du_fichier,O_RDONLY|O_BINARY);
 | 
			
		||||
  if (Handle!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    // Initialiser_preview(???); // Pas possible... pas d'image...
 | 
			
		||||
@ -690,7 +744,7 @@ void Save_PAL(void)
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
 | 
			
		||||
  // Ouverture du fichier
 | 
			
		||||
  Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC,PERMISSIONS_ECRITURE);
 | 
			
		||||
  Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC|O_BINARY,PERMISSIONS_ECRITURE);
 | 
			
		||||
  if (Fichier!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    // Enregistrement de Principal_Palette dans le fichier
 | 
			
		||||
@ -744,7 +798,7 @@ void Test_IMG(void)
 | 
			
		||||
  Erreur_fichier=1;
 | 
			
		||||
 | 
			
		||||
  // Ouverture du fichier
 | 
			
		||||
  Handle=open(Nom_du_fichier,O_RDONLY);
 | 
			
		||||
  Handle=open(Nom_du_fichier,O_RDONLY|O_BINARY);
 | 
			
		||||
  if (Handle!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    // Lecture et vérification de la signature
 | 
			
		||||
@ -784,7 +838,7 @@ void Load_IMG(void)
 | 
			
		||||
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY))!=-1)
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY|O_BINARY))!=-1)
 | 
			
		||||
  {
 | 
			
		||||
      stat(Nom_du_fichier,Informations_Fichier);
 | 
			
		||||
    Taille_du_fichier=Informations_Fichier->st_size;
 | 
			
		||||
@ -851,7 +905,7 @@ void Save_IMG(void)
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
 | 
			
		||||
  // Ouverture du fichier
 | 
			
		||||
  Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC,PERMISSIONS_ECRITURE);
 | 
			
		||||
  Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC|O_BINARY,PERMISSIONS_ECRITURE);
 | 
			
		||||
  if (Fichier!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    memcpy(IMG_Header.Filler1,Signature,6);
 | 
			
		||||
@ -932,7 +986,7 @@ void Test_PKM(void)
 | 
			
		||||
  Erreur_fichier=1;
 | 
			
		||||
 | 
			
		||||
  // Ouverture du fichier
 | 
			
		||||
  Fichier=open(Nom_du_fichier,O_RDONLY);
 | 
			
		||||
  Fichier=open(Nom_du_fichier,O_RDONLY|O_BINARY);
 | 
			
		||||
  if (Fichier!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    // Lecture du header du fichier
 | 
			
		||||
@ -984,7 +1038,7 @@ void Load_PKM(void)
 | 
			
		||||
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY))!=-1)
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY|O_BINARY))!=-1)
 | 
			
		||||
  {
 | 
			
		||||
      stat(Nom_du_fichier,&Informations_Fichier);
 | 
			
		||||
    Taille_du_fichier=Informations_Fichier.st_size;
 | 
			
		||||
@ -1240,7 +1294,7 @@ void Save_PKM(void)
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
 | 
			
		||||
  // Ouverture du fichier
 | 
			
		||||
  Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC,PERMISSIONS_ECRITURE);
 | 
			
		||||
  Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC|O_BINARY,PERMISSIONS_ECRITURE);
 | 
			
		||||
  if (Fichier!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    // Ecriture du header
 | 
			
		||||
@ -1386,7 +1440,7 @@ void Test_LBM(void)
 | 
			
		||||
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
 | 
			
		||||
  if ((LBM_Fichier=open(Nom_du_fichier,O_RDONLY))!=-1)
 | 
			
		||||
  if ((LBM_Fichier=open(Nom_du_fichier,O_RDONLY|O_BINARY))!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    if (read(LBM_Fichier,Section,4)!=4)
 | 
			
		||||
      Erreur_fichier=1;
 | 
			
		||||
@ -1662,7 +1716,7 @@ void Load_LBM(void)
 | 
			
		||||
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
 | 
			
		||||
  if ((LBM_Fichier=open(Nom_du_fichier,O_RDONLY))!=-1)
 | 
			
		||||
  if ((LBM_Fichier=open(Nom_du_fichier,O_RDONLY|O_BINARY))!=-1)
 | 
			
		||||
  {
 | 
			
		||||
      stat(Nom_du_fichier,&Informations_Fichier);
 | 
			
		||||
    Taille_du_fichier=Informations_Fichier.st_size;
 | 
			
		||||
@ -2022,7 +2076,7 @@ void Save_LBM(void)
 | 
			
		||||
  Nom_fichier_complet(Nom_du_fichier,0);
 | 
			
		||||
 | 
			
		||||
  // Ouverture du fichier
 | 
			
		||||
  LBM_Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC,PERMISSIONS_ECRITURE);
 | 
			
		||||
  LBM_Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC|O_BINARY,PERMISSIONS_ECRITURE);
 | 
			
		||||
  if (LBM_Fichier!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    write(LBM_Fichier,"FORM",4);
 | 
			
		||||
@ -2160,7 +2214,7 @@ void Test_BMP(void)
 | 
			
		||||
  Erreur_fichier=1;
 | 
			
		||||
  Nom_fichier_complet(Nom_du_fichier,0);
 | 
			
		||||
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY))!=-1)
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY|O_BINARY))!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    if (read(Fichier,&(Header.Signature),sizeof(word))==sizeof(word)
 | 
			
		||||
     && read(Fichier,&(Header.Taille_1),sizeof(uint32_t))==sizeof(uint32_t)
 | 
			
		||||
@ -2212,7 +2266,7 @@ void Load_BMP(void)
 | 
			
		||||
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY))!=-1)
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY|O_BINARY))!=-1)
 | 
			
		||||
  {
 | 
			
		||||
      stat(Nom_du_fichier,&Informations_Fichier);
 | 
			
		||||
    Taille_du_fichier=Informations_Fichier.st_size;
 | 
			
		||||
@ -2500,7 +2554,7 @@ void Save_BMP(void)
 | 
			
		||||
  Nom_fichier_complet(Nom_du_fichier,0);
 | 
			
		||||
 | 
			
		||||
  // Ouverture du fichier
 | 
			
		||||
  Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC,PERMISSIONS_ECRITURE);
 | 
			
		||||
  Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC|O_BINARY,PERMISSIONS_ECRITURE);
 | 
			
		||||
  if (Fichier!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    if (Principal_Largeur_image & 7)
 | 
			
		||||
@ -2603,7 +2657,7 @@ void Test_GIF(void)
 | 
			
		||||
  Erreur_fichier=1;
 | 
			
		||||
  Nom_fichier_complet(Nom_du_fichier,0);
 | 
			
		||||
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY))!=-1)
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY|O_BINARY))!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    if (
 | 
			
		||||
        (read(Fichier,Signature,6)==6) &&
 | 
			
		||||
@ -2770,7 +2824,7 @@ void Load_GIF(void)
 | 
			
		||||
 | 
			
		||||
  Nom_fichier_complet(Nom_du_fichier,0);
 | 
			
		||||
 | 
			
		||||
  if ((GIF_Fichier=open(Nom_du_fichier,O_RDONLY))!=-1)
 | 
			
		||||
  if ((GIF_Fichier=open(Nom_du_fichier,O_RDONLY|O_BINARY))!=-1)
 | 
			
		||||
  {
 | 
			
		||||
      stat(Nom_du_fichier,&Informations_Fichier);
 | 
			
		||||
    Taille_du_fichier=Informations_Fichier.st_size;
 | 
			
		||||
@ -3159,7 +3213,7 @@ void Save_GIF(void)
 | 
			
		||||
 | 
			
		||||
  Nom_fichier_complet(Nom_du_fichier,0);
 | 
			
		||||
 | 
			
		||||
  GIF_Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC,PERMISSIONS_ECRITURE);
 | 
			
		||||
  GIF_Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC|O_BINARY,PERMISSIONS_ECRITURE);
 | 
			
		||||
  if (GIF_Fichier!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    // On écrit la signature du fichier
 | 
			
		||||
@ -3438,7 +3492,7 @@ void Test_PCX(void)
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
  Nom_fichier_complet(Nom_du_fichier,0);
 | 
			
		||||
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY))!=-1)
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY|O_BINARY))!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    if (read(Fichier,&Header,sizeof(struct PCX_Header))==sizeof(struct PCX_Header))
 | 
			
		||||
    {
 | 
			
		||||
@ -3504,7 +3558,7 @@ void Load_PCX(void)
 | 
			
		||||
    word Screen_X;           // |_ Dimensions de
 | 
			
		||||
    word Screen_Y;           // |  l'écran d'origine
 | 
			
		||||
    byte Filler[54];         // Ca... J'adore!
 | 
			
		||||
  } Header; // Je hais ce header!
 | 
			
		||||
  } __attribute__((__packed__)) Header; // Je hais ce header!
 | 
			
		||||
  short Taille_ligne;
 | 
			
		||||
  short Vraie_taille_ligne; // Largeur de l'image corrigée
 | 
			
		||||
  short Largeur_lue;
 | 
			
		||||
@ -3527,13 +3581,16 @@ void Load_PCX(void)
 | 
			
		||||
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY))!=-1)
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY|O_BINARY))!=-1)
 | 
			
		||||
  {
 | 
			
		||||
      stat(Nom_du_fichier,&Informations_Fichier);
 | 
			
		||||
    Taille_du_fichier=Informations_Fichier.st_size;
 | 
			
		||||
 | 
			
		||||
    if (read(Fichier,&Header,sizeof(struct PCX_Header))==sizeof(struct PCX_Header))
 | 
			
		||||
    {
 | 
			
		||||
      // Ce format est Little-Endian
 | 
			
		||||
      //SDL_SwapLE16(Header.);
 | 
			
		||||
      
 | 
			
		||||
      Principal_Largeur_image=Header.X_max-Header.X_min+1;
 | 
			
		||||
      Principal_Hauteur_image=Header.Y_max-Header.Y_min+1;
 | 
			
		||||
 | 
			
		||||
@ -3847,7 +3904,7 @@ void Save_PCX(void)
 | 
			
		||||
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC,PERMISSIONS_ECRITURE))!=-1)
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC|O_BINARY,PERMISSIONS_ECRITURE))!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    // On prépare la palette pour écrire les 16 premieres valeurs
 | 
			
		||||
    Palette_64_to_256(Principal_Palette);
 | 
			
		||||
@ -3966,7 +4023,7 @@ void Test_CEL(void)
 | 
			
		||||
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
  Nom_fichier_complet(Nom_du_fichier,0);
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY))!=-1)
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY|O_BINARY))!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    if (read(Fichier,&Header1,sizeof(struct CEL_Header1))==sizeof(struct CEL_Header1))
 | 
			
		||||
    {
 | 
			
		||||
@ -4036,7 +4093,7 @@ void Load_CEL(void)
 | 
			
		||||
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
  Nom_fichier_complet(Nom_du_fichier,0);
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY))!=-1)
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY|O_BINARY))!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    if (read(Fichier,&Header1,sizeof(struct CEL_Header1))==sizeof(struct CEL_Header1))
 | 
			
		||||
    {
 | 
			
		||||
@ -4170,7 +4227,7 @@ void Save_CEL(void)
 | 
			
		||||
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
  Nom_fichier_complet(Nom_du_fichier,0);
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC,PERMISSIONS_ECRITURE))!=-1)
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC|O_BINARY,PERMISSIONS_ECRITURE))!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    // On regarde si des couleurs >16 sont utilisées dans l'image
 | 
			
		||||
    for (Pos_X=16;((Pos_X<256) && (!Utilisation[Pos_X]));Pos_X++);
 | 
			
		||||
@ -4302,7 +4359,7 @@ void Test_KCF(void)
 | 
			
		||||
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
  Nom_fichier_complet(Nom_du_fichier,0);
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY))!=-1)
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY|O_BINARY))!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    if (filelength(Fichier)==sizeof(struct KCF_Header))
 | 
			
		||||
    {
 | 
			
		||||
@ -4373,7 +4430,7 @@ void Load_KCF(void)
 | 
			
		||||
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
  Nom_fichier_complet(Nom_du_fichier,0);
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY))!=-1)
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY|O_BINARY))!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    Taille_du_fichier=filelength(Fichier);
 | 
			
		||||
    if (Taille_du_fichier==sizeof(struct KCF_Header))
 | 
			
		||||
@ -4510,7 +4567,7 @@ void Save_KCF(void)
 | 
			
		||||
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
  Nom_fichier_complet(Nom_du_fichier,0);
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC,PERMISSIONS_ECRITURE))!=-1)
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC|O_BINARY,PERMISSIONS_ECRITURE))!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    // Sauvegarde de la palette
 | 
			
		||||
 | 
			
		||||
@ -4601,7 +4658,7 @@ void Test_SCx(void)
 | 
			
		||||
  Erreur_fichier=1;
 | 
			
		||||
 | 
			
		||||
  // Ouverture du fichier
 | 
			
		||||
  Handle=open(Nom_du_fichier,O_RDONLY);
 | 
			
		||||
  Handle=open(Nom_du_fichier,O_RDONLY|O_BINARY);
 | 
			
		||||
  if (Handle!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    // Lecture et vérification de la signature
 | 
			
		||||
@ -4640,7 +4697,7 @@ void Load_SCx(void)
 | 
			
		||||
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY))!=-1)
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY|O_BINARY))!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    Taille_du_fichier=filelength(Fichier);
 | 
			
		||||
 | 
			
		||||
@ -4730,7 +4787,7 @@ void Save_SCx(void)
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
 | 
			
		||||
  // Ouverture du fichier
 | 
			
		||||
  Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC,PERMISSIONS_ECRITURE);
 | 
			
		||||
  Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC|O_BINARY,PERMISSIONS_ECRITURE);
 | 
			
		||||
  if (Fichier!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    memcpy(SCx_Header.Filler1,"RIX3",4);
 | 
			
		||||
@ -4904,7 +4961,7 @@ void Test_PI1(void)
 | 
			
		||||
  Erreur_fichier=1;
 | 
			
		||||
 | 
			
		||||
  // Ouverture du fichier
 | 
			
		||||
  Handle=open(Nom_du_fichier,O_RDONLY);
 | 
			
		||||
  Handle=open(Nom_du_fichier,O_RDONLY|O_BINARY);
 | 
			
		||||
  if (Handle!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    // Vérification de la taille
 | 
			
		||||
@ -4937,7 +4994,7 @@ void Load_PI1(void)
 | 
			
		||||
  Nom_fichier_complet(Nom_du_fichier,0);
 | 
			
		||||
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY))!=-1)
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY|O_BINARY))!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    // allocation d'un buffer mémoire
 | 
			
		||||
    buffer=(byte *)malloc(32034);
 | 
			
		||||
@ -5001,7 +5058,7 @@ void Save_PI1(void)
 | 
			
		||||
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
  // Ouverture du fichier
 | 
			
		||||
  Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC,PERMISSIONS_ECRITURE);
 | 
			
		||||
  Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC|O_BINARY,PERMISSIONS_ECRITURE);
 | 
			
		||||
  if (Fichier!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    // allocation d'un buffer mémoire
 | 
			
		||||
@ -5234,7 +5291,7 @@ void Test_PC1(void)
 | 
			
		||||
  Erreur_fichier=1;
 | 
			
		||||
 | 
			
		||||
  // Ouverture du fichier
 | 
			
		||||
  Handle=open(Nom_du_fichier,O_RDONLY);
 | 
			
		||||
  Handle=open(Nom_du_fichier,O_RDONLY|O_BINARY);
 | 
			
		||||
  if (Handle!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    // Vérification de la taille
 | 
			
		||||
@ -5269,7 +5326,7 @@ void Load_PC1(void)
 | 
			
		||||
  Nom_fichier_complet(Nom_du_fichier,0);
 | 
			
		||||
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY))!=-1)
 | 
			
		||||
  if ((Fichier=open(Nom_du_fichier,O_RDONLY|O_BINARY))!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    Taille=filelength(Fichier);
 | 
			
		||||
    // allocation des buffers mémoire
 | 
			
		||||
@ -5344,7 +5401,7 @@ void Save_PC1(void)
 | 
			
		||||
 | 
			
		||||
  Erreur_fichier=0;
 | 
			
		||||
  // Ouverture du fichier
 | 
			
		||||
  Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC,PERMISSIONS_ECRITURE);
 | 
			
		||||
  Fichier=open(Nom_du_fichier,O_WRONLY|O_CREAT|O_TRUNC|O_BINARY,PERMISSIONS_ECRITURE);
 | 
			
		||||
  if (Fichier!=-1)
 | 
			
		||||
  {
 | 
			
		||||
    // Allocation des buffers mémoire
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										4
									
								
								op_c.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								op_c.c
									
									
									
									
									
								
							@ -1207,7 +1207,7 @@ void Load_RAW_24B(int Largeur,int Hauteur,Bitmap24B Source)
 | 
			
		||||
{
 | 
			
		||||
  int Fichier;
 | 
			
		||||
 | 
			
		||||
  Fichier=open("TEST.RAW",O_RDONLY);
 | 
			
		||||
  Fichier=open("TEST.RAW",O_RDONLY|O_BINARY);
 | 
			
		||||
  if (read(Fichier,Source,Largeur*Hauteur*sizeof(struct Composantes))!=Largeur*Hauteur*sizeof(struct Composantes))
 | 
			
		||||
    exit(3);
 | 
			
		||||
  close(Fichier);
 | 
			
		||||
@ -1234,7 +1234,7 @@ void Load_TGA(char * nom,Bitmap24B * dest,int * larg,int * haut)
 | 
			
		||||
  int x,y,py,skip,t;
 | 
			
		||||
  byte * buffer;
 | 
			
		||||
 | 
			
		||||
  fichier=open(nom,O_RDONLY);
 | 
			
		||||
  fichier=open(nom,O_RDONLY|O_BINARY);
 | 
			
		||||
  read(fichier,&TGA_Header,sizeof(TGA_Header));
 | 
			
		||||
  if (TGA_Header.Image_type_code==2)
 | 
			
		||||
  {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user