spriteforge/tests/sfp_c99_smoke.c

13 lines
700 B
C
Raw Permalink Normal View History

#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;
}