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