示例#1
0
文件: main.c 项目: Cmarone/xlook
static FileType file_type_with_path(const char *path)
{
	FileType type= _file_type_unrecognized;
	FILE *fp= fopen(path, "rb");
	if(fp)
	{
		char *key= "begin";
		int key_length= strlen(key);
		char buffer[128];
		int length_read;

		length_read= fread(buffer, 1, key_length, fp);
		if(length_read==key_length && strncmp(key, buffer, key_length)==0)
		{
			type= _file_type_script;
		} else {
			/* in filtersm.h */
			/*	return is 16, 32, 64 or 0 (0 indicates an error) */
			int version= header_version(fp, FALSE);
			if(version != 0)
			{
				type= _file_type_data;
			}
		}
	
		fclose(fp);
	}	
	
	return type;
}
示例#2
0
void
RecordSet::init (const byte_t* const ptr, ssize_t const size)
{
    assert (EMPTY == version_);
    assert (size >= 0);
    assert (NULL != ptr || 0 == size);
    assert (NULL == ptr || 0 != size);

    if (gu_likely ((ptr && size)))
    {
        version_    = header_version (ptr, size);
        check_type_ = header_check_type (version_, ptr, size);
    }
}