lexlib 2.0.1

library with miscellaneous stuff
Documentation
// Copyright 2023 alexevier <alexevier@proton.me>
// licensed under the zlib license <https://www.zlib.net/zlib_license.html>

#include<internal/misc.h>

// this is used in cfile too
uint16_t lexlibInternalFileTypeSig(const uint8_t* sig, size_t len){
	if(len == 2){
		if(// bmp
			sig[0] == 'B' &&
			sig[1] == 'M'
		) return LEXLIB_FILETYPE_BMP;

		if(// script
			sig[0] == '#' &&
			sig[1] == '!'
		) return LEXLIB_FILETYPE_SCRIPT;
	}

	if(len == 8){
		if(// png
			sig[0] == 0x89 &&
			sig[1] == 0x50 &&
			sig[2] == 0x4E &&
			sig[3] == 0x47 &&
			sig[4] == 0x0D &&
			sig[5] == 0x0A &&
			sig[6] == 0x1A &&
			sig[7] == 0x0A
		) return LEXLIB_FILETYPE_PNG;
	}

	return LEXLIB_FILETYPE_UNKNOWN;
}