Thank you, it will avoid to have to delete allocated memory every time the 
procedure is used.
Jacques Senecal


> Rewrite that doesn't alloc any memory.
>
> const char * typeImageFromFileName (char * filename)
> {
>      char header[64];
>      FILE *fp = fopen (filename, "rb");
>
>      if (fp){
>          fread (header, sizeof(char), sizeof(header), fp);
>          fclose (fp);
>
>          if (memcmp(header, "GIF87a", 6) == 0 ||
>                  memcmp(header, "GIF89a", 6) == 0)
>          {
>              return "GIF";
>          }
>          if (memcmp(header, "BM", 2) == 0)    // BMP file
>          {
>              return "BMP";
>          }
>          if (header[0] == 'P' && (header[1] == '3' || header[1] == '6'))
>          {
>              return "PPM";
>          }
>          if (header[0] == 'P' && (header[1] == '2' || header[1] == '5'))
>          {
>              return "PGM";
>          }
>
>          if (header[0] == 'P' && header[1] == '1' )
>          {
>              return "PBM";
>          }
>
>          if (memcmp(header, "\211PNG", 4) == 0)
>          {
>              return "PNG";
>          }
>          /*
>           if (memcmp(header, "\377\330\377", 3) == 0 &&
>               header[3] >= 0xc0 && header[3] <= 0xef)
>               */
>          if (memcmp(header, "\377\330\377", 3) == 0)
>          {
>              return "JPEG";
>          }
>          if (memcmp(header, "II*", 3) == 0||memcmp(header, "MM*", 3) == 0 )
>          {
>              return "TIFF";
>          }
>      }
>      return "UNKNOWN";
> }

_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to