亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? libewf_hash_values.c

?? sleuthit-2.09 一個磁盤的工具集
?? C
?? 第 1 頁 / 共 2 頁
字號:
	{		LIBEWF_WARNING_PRINT( "libewf_hash_values_set_value: unable to set value.\n" );		libewf_common_free( hash_values->values[ index ] );		hash_values->values[ index ] = NULL;		return( -1 );	}	return( 1 );}/* Parse a xml hash string for the values * Returns a pointer to the new instance, NULL on error */LIBEWF_HASH_VALUES *libewf_hash_values_parse_hash_string_xml( LIBEWF_CHAR *hash_string_xml, size_t length ){	LIBEWF_HASH_VALUES *hash_values = NULL;	LIBEWF_CHAR **lines             = NULL;	LIBEWF_CHAR *open_tag_start     = NULL;	LIBEWF_CHAR *open_tag_end       = NULL;	LIBEWF_CHAR *close_tag_start    = NULL;	LIBEWF_CHAR *close_tag_end      = NULL;	size_t string_length            = 0;	uint32_t line_count             = 0;	uint32_t iterator               = 0;	if( hash_string_xml == NULL )	{		LIBEWF_WARNING_PRINT( "libewf_hash_values_parse_hash_string_xml: invalid hash string\n" );		return( NULL );	}	lines = libewf_string_split( (LIBEWF_CHAR *) hash_string_xml, length, (LIBEWF_CHAR) '\n', &line_count );	if( lines == NULL )	{		LIBEWF_WARNING_PRINT( "libewf_hash_values_parse_hash_string_xml: unable to split lines in hash string.\n" );		return( NULL );	}	hash_values = libewf_hash_values_alloc();	if( hash_values == NULL )	{		LIBEWF_WARNING_PRINT( "libewf_hash_values_parse_hash_string_xml: unable to create hash values.\n" );		libewf_string_split_values_free( lines, line_count );		return( NULL );	}	for( iterator = 0; iterator < line_count; iterator++ )	{		if( ( lines[ iterator ] == NULL )		 || ( lines[ iterator ] == (LIBEWF_CHAR *) _S_LIBEWF_CHAR( "" ) ) )		{			continue;		}		string_length = libewf_string_length( lines[ iterator ] );		/* Ignore empty lines		 */		if( string_length == 0 )		{			continue;		}		open_tag_start = libewf_string_search( lines[ iterator ], (LIBEWF_CHAR) '<', string_length );		/* Ignore lines without an open tag		 */		if( open_tag_start == NULL )		{			continue;		}		open_tag_end = libewf_string_search( lines[ iterator ], (LIBEWF_CHAR) '>', string_length );		/* Ignore lines without an open tag		 */		if( open_tag_end == NULL )		{			continue;		}		/* Ignore the first part of the xml string		 */		string_length -= (size_t) ( open_tag_end - lines[ iterator ] );		/* Ignore lines only containing a single tag		 */		if( string_length <= 1 )		{			continue;		}		close_tag_start = libewf_string_search_reverse( &open_tag_end[ 1 ], (LIBEWF_CHAR) '<', string_length );		/* Ignore lines without a close tag		 */		if( close_tag_start == NULL )		{			continue;		}		close_tag_end = libewf_string_search_reverse( &open_tag_end[ 1 ], (LIBEWF_CHAR) '>', string_length );		/* Ignore lines without a close tag		 */		if( close_tag_end == NULL )		{			continue;		}		/* Ignore the second part of the xml string		 */		string_length = (size_t) ( close_tag_start - open_tag_end ) - 1;		/* Make sure the identifier string will be terminated		 */		*open_tag_end = (LIBEWF_CHAR) '\0';		if( libewf_hash_values_set_value( hash_values, &open_tag_start[ 1 ] , &open_tag_end[ 1 ], string_length ) != 1 )		{			LIBEWF_VERBOSE_PRINT( "libewf_hash_values_parse_hash_string_xml: unable to set value with identifier: %" PRIs_EWF ".\n", &open_tag_start[ 1 ] );		}	}	libewf_string_split_values_free( lines, line_count );	return( hash_values );}/* Parse an EWF xhash for the values * Returns a pointer to the new instance, NULL on error */LIBEWF_HASH_VALUES *libewf_hash_values_parse_xhash( EWF_CHAR *xhash, size_t size ){	LIBEWF_HASH_VALUES* hash_values = NULL;	LIBEWF_CHAR *xml_hash_string    = NULL;	if( xhash == NULL )	{		LIBEWF_WARNING_PRINT( "libewf_hash_values_parse_xhash: invalid xhash.\n" );		return( NULL );	}	xml_hash_string = (LIBEWF_CHAR *) libewf_common_alloc( LIBEWF_CHAR_SIZE * ( size + 1 ) );	if( xml_hash_string == NULL )	{		LIBEWF_WARNING_PRINT( "libewf_hash_values_parse_xhash: unable to create XML hash string.\n" );		return( NULL );	}	if( libewf_string_copy_from_ewf_char( xml_hash_string, size, xhash, size ) != 1 )	{		LIBEWF_WARNING_PRINT( "libewf_hash_values_parse_xhash: unable to copy xhash to xml hash string.\n" );		libewf_common_free( xml_hash_string );		return( NULL );	}	hash_values = libewf_hash_values_parse_hash_string_xml( xml_hash_string, size );	libewf_common_free( xml_hash_string );	return( hash_values );}/* Converts a hash string into a hash * Cleans the hash string * Sets hash length * Returns a pointer to the new instance, NULL on error */EWF_CHAR *libewf_hash_values_convert_hash_string_to_hash( LIBEWF_CHAR *hash_string, size_t string_length, size_t *hash_length ){	EWF_CHAR *hash = NULL;	if( hash_string == NULL )	{		LIBEWF_WARNING_PRINT( "libewf_hash_values_convert_hash_string_to_hash: invalid hash string.\n" );		return( NULL );	}	if( hash_length == NULL )	{		LIBEWF_WARNING_PRINT( "libewf_hash_values_convert_hash_string_to_hash: invalid hash length.\n" );		return( NULL );	}	hash = (EWF_CHAR *) libewf_common_alloc( EWF_CHAR_SIZE * string_length );	if( hash == NULL )	{		LIBEWF_WARNING_PRINT( "libewf_hash_values_convert_hash_string_to_hash: unable to create hash.\n" );		libewf_common_free( hash_string );		return( NULL );	}	*hash_length = string_length;	if( libewf_string_copy_to_ewf_char( hash_string, string_length, hash, *hash_length ) != 1 )	{		LIBEWF_WARNING_PRINT( "libewf_hash_values_convert_hash_string_to_hash: unable to set hash.\n" );		libewf_common_free( hash );		libewf_common_free( hash_string );		*hash_length = 0;		return( NULL );	}	libewf_common_free( hash_string );	return( hash );}/* Generate a hash format in XML * Sets string length * Returns a pointer to the new instance, NULL on error */LIBEWF_CHAR *libewf_hash_values_generate_hash_string_xml( LIBEWF_HASH_VALUES *hash_values, size_t *string_length ){	LIBEWF_CHAR *hash_string         = NULL;	LIBEWF_CHAR *xml_head            = _S_LIBEWF_CHAR( "<?xml version=\"1.0\"?>" );	LIBEWF_CHAR *xml_open_tag_xhash  = _S_LIBEWF_CHAR( "<xhash>" );	LIBEWF_CHAR *xml_close_tag_xhash = _S_LIBEWF_CHAR( "</xhash>" );	uint32_t iterator                = 0;	int string_offset                = 0;	int character_count              = 0;	if( hash_values == NULL )	{		LIBEWF_WARNING_PRINT( "libewf_hash_values_generate_hash_string_xml: invalid hash values.\n" );		return( NULL );	}	if( hash_values == NULL )	{		LIBEWF_WARNING_PRINT( "libewf_hash_values_generate_hash_string_xml: invalid hash values.\n" );		return( NULL );	}	if( string_length == NULL )	{		LIBEWF_WARNING_PRINT( "libewf_hash_values_generate_hash_string_xml: invalid string length.\n" );		return( NULL );	}	/* Add space for the xml data and an end of line	 */	*string_length  = libewf_string_length( xml_head ) + 1;	*string_length += libewf_string_length( xml_open_tag_xhash ) + 1;	*string_length += libewf_string_length( xml_close_tag_xhash ) + 1;	for( iterator = 0; iterator < hash_values->amount; iterator++ )	{		if( hash_values->identifiers[ iterator ] == NULL )		{			LIBEWF_WARNING_PRINT( "libewf_hash_values_generate_hash_string_xml: invalid hash value - missing identifier.\n" );			continue;		}		if( hash_values->values[ iterator ] != NULL )		{			/* Add space for a leading tab, <identifier></identifier> and an end of line			 */			*string_length += ( 2 * libewf_string_length( hash_values->identifiers[ iterator ] ) ) + 7;			/* Add space for the hash value			 */			*string_length += libewf_string_length( hash_values->values[ iterator ] );		}	}	/* allow for an empty line and an end of string	 */	*string_length += 2;	hash_string = (LIBEWF_CHAR *) libewf_common_alloc( LIBEWF_CHAR_SIZE * *string_length );	if( hash_string == NULL )	{		LIBEWF_WARNING_PRINT( "libewf_hash_values_generate_hash_string_xml: unable to create hash string.\n" );		*string_length = 0;		return( NULL );	}	character_count = libewf_string_snprintf( hash_string, *string_length,		_S_LIBEWF_CHAR( "%" ) _S_LIBEWF_CHAR( PRIs_EWF ) _S_LIBEWF_CHAR( "\n%" ) _S_LIBEWF_CHAR( PRIs_EWF ) _S_LIBEWF_CHAR( "\n" ),		xml_head, xml_open_tag_xhash );	if( character_count <= -1 )	{		LIBEWF_WARNING_PRINT( "libewf_hash_values_generate_hash_string_xml: unable to set hash string.\n" );		libewf_common_free( hash_string );		*string_length = 0;		return( NULL );	}	string_offset = character_count;	for( iterator = 0; iterator < hash_values->amount; iterator++ )	{		if( hash_values->identifiers[ iterator ] == NULL )		{			LIBEWF_WARNING_PRINT( "libewf_hash_values_generate_hash_string_xml: invalid hash value - missing identifier.\n" );			continue;		}		if( hash_values->values[ iterator ] != NULL )		{			character_count = libewf_string_snprintf( &hash_string[ string_offset ], ( *string_length - string_offset ),			                                          _S_LIBEWF_CHAR( "\t<%" ) _S_LIBEWF_CHAR( PRIs_EWF ) _S_LIBEWF_CHAR( ">%" )								  _S_LIBEWF_CHAR( PRIs_EWF ) _S_LIBEWF_CHAR( "</%" ) _S_LIBEWF_CHAR( PRIs_EWF )								  _S_LIBEWF_CHAR( ">\n" ), hash_values->identifiers[ iterator ],			                                          hash_values->values[ iterator ], hash_values->identifiers[ iterator ] );			if( character_count <= -1 )			{				LIBEWF_WARNING_PRINT( "libewf_hash_values_generate_hash_string_xml: unable to set hash string.\n" );				libewf_common_free( hash_string );				*string_length = 0;				return( NULL );			}			string_offset += character_count;		}	}	character_count = libewf_string_snprintf( &hash_string[ string_offset ], ( *string_length - string_offset ),	                                          _S_LIBEWF_CHAR( "%" ) _S_LIBEWF_CHAR( PRIs_EWF ) _S_LIBEWF_CHAR( "\n\n" ),						  xml_close_tag_xhash );	if( character_count <= -1 )	{		LIBEWF_WARNING_PRINT( "libewf_hash_values_generate_hash_string_xml: unable to set hash string.\n" );		libewf_common_free( hash_string );		*string_length = 0;		return( NULL );	}	/* Make sure the string is terminated	 */	hash_string[ *string_length - 1 ] = (LIBEWF_CHAR) '\0';	return( hash_string );}/* Generate an EWFX xhash * Returns a pointer to the new instance, NULL on error */EWF_CHAR *libewf_hash_values_generate_xhash_string_ewfx( LIBEWF_HASH_VALUES *hash_values, size_t *hash_length ){	EWF_CHAR *xhash          = NULL;	LIBEWF_CHAR *hash_string = NULL;	hash_string = libewf_hash_values_generate_hash_string_xml( hash_values, hash_length );	xhash       = libewf_hash_values_convert_hash_string_to_hash( hash_string, *hash_length, hash_length );	if( xhash == NULL )	{		LIBEWF_WARNING_PRINT( "libewf_hash_values_generate_xhash_string_ewfx: unable to create xhash.\n" );		return( NULL );	}	return( xhash );}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
337p粉嫩大胆噜噜噜噜噜91av| 成人av在线电影| 欧美精品在线视频| 亚洲第一成年网| 欧美日韩精品综合在线| 视频一区免费在线观看| 日韩一二三区视频| 激情综合色丁香一区二区| 久久香蕉国产线看观看99| 在线观看亚洲一区| 日韩专区在线视频| 精品区一区二区| 国产成人av电影在线播放| 中文字幕一区视频| 欧美系列日韩一区| 美女任你摸久久 | 欧美区视频在线观看| 免费成人在线观看视频| 26uuu国产日韩综合| 成人高清视频在线观看| 亚洲精品日产精品乱码不卡| 欧美肥胖老妇做爰| 精品一区二区三区视频 | 日本一区二区三区电影| 99热精品一区二区| 亚洲成人动漫一区| 精品国产欧美一区二区| 97久久精品人人澡人人爽| 亚洲成人av在线电影| 日韩精品一区二区在线| 成人黄色在线视频| 午夜精品一区二区三区三上悠亚| 欧美tickling挠脚心丨vk| 粉嫩av一区二区三区在线播放 | 欧美一区二区日韩| 国产成人精品网址| 亚洲第一电影网| 久久九九久久九九| 欧美日韩成人综合天天影院 | 综合久久给合久久狠狠狠97色 | 欧美一区二区高清| 91在线高清观看| 日本aⅴ精品一区二区三区| 国产精品乱码久久久久久| 欧美日韩一卡二卡三卡 | 亚洲第一狼人社区| 久久影院电视剧免费观看| 色噜噜狠狠一区二区三区果冻| 免费的成人av| 一区二区三区久久| 国产欧美精品一区二区色综合| 欧美男人的天堂一二区| jiyouzz国产精品久久| 麻豆成人在线观看| 午夜视频一区二区| 亚洲图片激情小说| 国产清纯在线一区二区www| 欧美精品xxxxbbbb| 一本大道综合伊人精品热热| 国产精品中文字幕一区二区三区| 亚洲国产精品综合小说图片区| 国产精品人成在线观看免费| 日韩精品一区二区三区在线播放| 在线观看亚洲一区| 91一区二区在线观看| 国产一区二区日韩精品| 蜜桃一区二区三区在线观看| 亚洲自拍偷拍综合| 一区二区三区在线免费播放 | 精品一区二区三区的国产在线播放| 亚洲男同性视频| 国产欧美精品国产国产专区| 欧美精品一区二区三区一线天视频| 欧美日韩一卡二卡三卡| 在线精品观看国产| 色悠久久久久综合欧美99| 成人涩涩免费视频| 成人在线综合网| 国产成人亚洲精品狼色在线| 国产一区欧美一区| 国产在线播放一区三区四| 经典三级一区二区| 国产真实乱子伦精品视频| 久色婷婷小香蕉久久| 蜜臀av性久久久久蜜臀aⅴ| 男人的天堂亚洲一区| 久久精品国产精品青草| 老司机精品视频线观看86| 久久国产精品99久久人人澡| 久久国产精品99久久久久久老狼| 蜜桃一区二区三区在线| 精彩视频一区二区三区| 国产精品中文字幕日韩精品| 国产成人三级在线观看| 成人成人成人在线视频| 99久久精品国产一区| 91久久一区二区| 欧美日韩精品欧美日韩精品| 3d动漫精品啪啪一区二区竹菊| 欧美妇女性影城| www国产亚洲精品久久麻豆| 久久久久久久久久久电影| 国产欧美精品一区二区色综合朱莉 | 国产精品网友自拍| 亚洲欧美另类小说视频| 亚洲国产美女搞黄色| 日本欧美肥老太交大片| 国模大尺度一区二区三区| 成人一区二区三区视频在线观看| 91丨porny丨国产入口| 欧美午夜不卡在线观看免费| 日韩限制级电影在线观看| 精品少妇一区二区三区免费观看 | 精品日韩av一区二区| 久久综合一区二区| 亚洲欧洲99久久| 天涯成人国产亚洲精品一区av| 久久99精品国产.久久久久久| 国产成人av一区二区三区在线观看| 91浏览器在线视频| 欧美一区二区三区啪啪| 国产精品毛片a∨一区二区三区| 亚洲午夜激情网站| 国产一区二区三区在线观看免费| 99久久精品99国产精品| 欧美一区二区福利在线| 国产精品污污网站在线观看| 午夜国产不卡在线观看视频| 国产精品69久久久久水密桃| 在线免费观看日本欧美| 2021国产精品久久精品| 亚洲主播在线观看| 国产成人免费视频网站| 欧美高清视频www夜色资源网| 欧美国产精品中文字幕| 午夜影院久久久| 成人激情文学综合网| 日韩片之四级片| 一区二区三区免费网站| 成人福利视频网站| 精品日本一线二线三线不卡 | 亚洲国产精品视频| 国产成人aaa| 欧美成人乱码一区二区三区| 亚洲黄色免费网站| 成人爱爱电影网址| 精品国产a毛片| 日本不卡在线视频| 欧美色综合网站| 亚洲色图一区二区三区| 国产**成人网毛片九色 | 91成人在线观看喷潮| 日本一区二区视频在线| 精品午夜久久福利影院| 欧美一区二区视频在线观看2022| 亚洲精品中文字幕乱码三区| 国产91精品欧美| 国产亚洲综合av| 美女网站在线免费欧美精品| 欧美三区在线视频| 伊人夜夜躁av伊人久久| 97se亚洲国产综合在线| 国产精品毛片久久久久久| 成人中文字幕在线| 国产人久久人人人人爽| 国产呦精品一区二区三区网站| 日韩一区二区精品在线观看| 午夜精品国产更新| 欧美区视频在线观看| 亚洲va在线va天堂| 欧美精品在线一区二区三区| 亚洲福利视频导航| 欧美日韩一区二区三区在线| 亚洲国产综合色| 精品视频在线免费观看| 婷婷综合久久一区二区三区| 欧美日韩aaaaa| 视频在线观看一区二区三区| 在线电影院国产精品| 日韩va欧美va亚洲va久久| 欧美一级二级三级乱码| 久久国产精品第一页| 久久综合av免费| 国产成人精品aa毛片| 一区视频在线播放| 色一情一伦一子一伦一区| 一区二区在线免费| 69久久99精品久久久久婷婷| 美女在线观看视频一区二区| xfplay精品久久| 成人手机电影网| 亚洲女同女同女同女同女同69| 在线观看av一区| 男女性色大片免费观看一区二区| 日韩亚洲欧美成人一区| 国产一区不卡在线| 国产精品国产a| 欧美激情一区二区三区不卡| 99久久精品国产精品久久| 亚洲自拍偷拍网站|