13 lines
700 B
C
13 lines
700 B
C
|
|
#include "sfa.h"
|
||
|
|
int main(int argc,char** argv){
|
||
|
|
FILE* f;long n;uint8_t* data;size_t got;sfp_view view;const uint8_t* rgb;const uint8_t* map;
|
||
|
|
if(argc!=2||(f=fopen(argv[1],"rb"))==0)return 1;
|
||
|
|
if(fseek(f,0,SEEK_END)||(n=ftell(f))<0||fseek(f,0,SEEK_SET)){fclose(f);return 2;}
|
||
|
|
data=(uint8_t*)malloc((size_t)n);if(!data){fclose(f);return 3;}
|
||
|
|
got=fread(data,1,(size_t)n,f);fclose(f);
|
||
|
|
if(got!=(size_t)n||sfp_open(data,got,&view)!=SFA_OK||view.palette_count!=1||view.colormap_count!=1)return 4;
|
||
|
|
if(sfp_palette(&view,0,&rgb)!=SFA_OK||rgb[3]!=1||rgb[4]!=1||rgb[5]!=1)return 5;
|
||
|
|
if(sfp_colormap(&view,0,&map)!=SFA_OK||map[0]!=0||map[255]!=255)return 6;
|
||
|
|
free(data);return 0;
|
||
|
|
}
|