static int ispng( const char *filename ) { unsigned char buf[8]; return( im__get_bytes( filename, buf, 8 ) && !png_sig_cmp( buf, 0, 8 ) ); }
static int isppm( const char *filename ) { unsigned char buf[2]; if( im__get_bytes( filename, buf, 2 ) ) if( buf[0] == 'P' && (buf[1] >= '1' || buf[1] <= '6') ) return( 1 ); return( 0 ); }
static int isjpeg( const char *filename ) { unsigned char buf[2]; if( im__get_bytes( filename, buf, 2 ) ) if( (int) buf[0] == 0xff && (int) buf[1] == 0xd8 ) return( 1 ); return( 0 ); }
int im_isvips( const char *filename ) { unsigned char buf[4]; if( im__get_bytes( filename, buf, 4 ) ) { if( buf[0] == 0x08 && buf[1] == 0xf2 && buf[2] == 0xa6 && buf[3] == 0xb6 ) /* SPARC-order VIPS image. */ return( 1 ); else if( buf[3] == 0x08 && buf[2] == 0xf2 && buf[1] == 0xa6 && buf[0] == 0xb6 ) /* INTEL-order VIPS image. */ return( 1 ); } return( 0 ); }