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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ewf_compress.c

?? sleuthit-2.09 一個磁盤的工具集
?? C
字號:
/* * EWF compression handling * * Copyright (c) 2006-2007, Joachim Metz <forensics@hoffmannbv.nl>, * Hoffmann Investigations. All rights reserved. * * Refer to AUTHORS for acknowledgements. * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * - Redistributions of source code must retain the above copyright notice, *   this list of conditions and the following disclaimer. * - Redistributions in binary form must reproduce the above copyright notice, *   this list of conditions and the following disclaimer in the documentation *   and/or other materials provided with the distribution. * - Neither the name of the creator, related organisations, nor the names of *   its contributors may be used to endorse or promote products derived from *   this software without specific prior written permission. * - All advertising materials mentioning features or use of this software *   must acknowledge the contribution by people stated in the acknowledgements. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER, COMPANY AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */#include "libewf_includes.h"#if defined( HAVE_STDLIB_H )#include <stdlib.h>#endif#if defined( HAVE_ZLIB_H ) && defined( HAVE_LIBZ )#include <zlib.h>#endif#include "libewf_notify.h"#include "ewf_compress.h"#include "ewf_definitions.h"/* Compresses data, wraps zlib uncompress function * Returns 1 on success, -1 on error */int8_t ewf_compress( uint8_t *compressed_data, size_t *compressed_size, uint8_t *uncompressed_data, size_t uncompressed_size, int8_t compression_level ){	uLongf safe_compressed_size = 0;	int zlib_compression_level  = 0;	int result                  = 0;	if( compressed_data == NULL )	{		LIBEWF_WARNING_PRINT( "ewf_compress: invalid compressed data buffer.\n" );		return( -1 );	}	if( uncompressed_data == NULL )	{		LIBEWF_WARNING_PRINT( "ewf_compress: invalid uncompressed data buffer.\n" );		return( -1 );	}	if( compressed_size == NULL )	{		LIBEWF_WARNING_PRINT( "ewf_compress: invalid compressed size.\n" );		return( -1 );	}	if( compression_level == EWF_COMPRESSION_DEFAULT )	{		zlib_compression_level = Z_BEST_SPEED;	}	else if( compression_level == EWF_COMPRESSION_FAST )	{		zlib_compression_level = Z_BEST_SPEED;	}	else if( compression_level == EWF_COMPRESSION_BEST )	{		zlib_compression_level = Z_BEST_COMPRESSION;	}	else if( compression_level == EWF_COMPRESSION_NONE )	{		zlib_compression_level = Z_NO_COMPRESSION;	}	else	{		LIBEWF_WARNING_PRINT( "ewf_compress: unsupported compression level.\n" );		return( -1 );	}	safe_compressed_size = (uLongf) *compressed_size;	result = compress2( (Bytef *) compressed_data, &safe_compressed_size, (Bytef *) uncompressed_data, (uLong) uncompressed_size, zlib_compression_level );	if( result == Z_OK )	{		*compressed_size = (size_t) safe_compressed_size;		return( 1 );	}	else if( result == Z_BUF_ERROR )	{		LIBEWF_VERBOSE_PRINT( "ewf_compress: unable to write compressed data: target buffer too small.\n" );#ifdef HAVE_COMPRESS_BOUND		/* Use compressBound to determine the size of the uncompressed buffer		 */		safe_compressed_size = compressBound( (uLong) uncompressed_size );		*compressed_size     = (size_t) safe_compressed_size;#else		/* Estimate that a factor 2 enlargement should suffice		 */		*compressed_size *= 2;#endif	}	else if( result == Z_MEM_ERROR )	{		LIBEWF_WARNING_PRINT( "ewf_compress: unable to write compressed data: insufficient memory.\n" );		*compressed_size = 0;	}	else	{		LIBEWF_WARNING_PRINT( "ewf_compress: zlib returned undefined error: %d.\n", result );		*compressed_size = 0;	}	return( -1 );}/* Uncompresses data, wraps zlib uncompress function * Returns 1 on success, 0 on failure, -1 on error */int8_t ewf_uncompress( uint8_t *uncompressed_data, size_t *uncompressed_size, uint8_t *compressed_data, size_t compressed_size ){	uLongf safe_uncompressed_size = 0;	int result                    = 0;	if( uncompressed_data == NULL )	{		LIBEWF_WARNING_PRINT( "ewf_uncompress: invalid uncompressed data buffer.\n" );		return( -1 );	}	if( compressed_data == NULL )	{		LIBEWF_WARNING_PRINT( "ewf_uncompress: invalid compressed data buffer.\n" );		return( -1 );	}	if( uncompressed_size == NULL )	{		LIBEWF_WARNING_PRINT( "ewf_uncompress: invalid uncompressed size.\n" );		return( -1 );	}	safe_uncompressed_size = (uLongf) *uncompressed_size;	result = uncompress( (Bytef *) uncompressed_data, &safe_uncompressed_size, (Bytef *) compressed_data, (uLong) compressed_size );	if( result == Z_OK )	{		*uncompressed_size = (size_t) safe_uncompressed_size;		return( 1 );	}	else if( result == Z_DATA_ERROR )	{		LIBEWF_VERBOSE_PRINT( "ewf_uncompress: unable to read compressed data: data error.\n" );		*uncompressed_size = 0;		return( 0 );	}	else if( result == Z_BUF_ERROR )	{		LIBEWF_VERBOSE_PRINT( "ewf_uncompress: unable to read compressed data: target buffer too small.\n" );		/* Estimate that a factor 2 enlargement should suffice		 */		*uncompressed_size *= 2;	}	else if( result == Z_MEM_ERROR )	{		LIBEWF_WARNING_PRINT( "ewf_uncompress: unable to read compressed data: insufficient memory.\n" );		*uncompressed_size = 0;	}	else	{		LIBEWF_WARNING_PRINT( "ewf_uncompress: zlib returned undefined error: %d.\n", result );		*uncompressed_size = 0;	}	return( -1 );}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲六月丁香色婷婷综合久久| 久久综合久久99| 亚洲四区在线观看| 91在线观看成人| 亚洲一区在线免费观看| 欧美日韩一区在线| caoporn国产精品| 中文字幕综合网| 91黄视频在线观看| 三级影片在线观看欧美日韩一区二区 | 日韩精品中文字幕在线不卡尤物 | 亚洲三级电影全部在线观看高清| 色哟哟一区二区三区| 亚洲妇熟xx妇色黄| 欧美成人video| 成人av在线资源网站| 一区二区三区美女视频| 欧美一区二区视频观看视频| 国产一区在线不卡| 成人欧美一区二区三区视频网页 | 欧美一区二区三区视频免费| 精品一区二区三区久久| 国产精品麻豆网站| 欧美日韩成人一区二区| 国模套图日韩精品一区二区| 中文字幕制服丝袜一区二区三区 | 日韩精品一二区| 久久综合色婷婷| 日本精品裸体写真集在线观看| 日本伊人色综合网| 国产精品盗摄一区二区三区| 3d动漫精品啪啪一区二区竹菊| 国产精品88av| 亚洲福利视频一区二区| 国产亚洲欧美在线| 欧美午夜免费电影| 国产精品1024| 午夜不卡av在线| 国产精品国产三级国产aⅴ中文 | 久久99精品一区二区三区三区| 国产精品视频线看| 欧美一区二区三区日韩视频| 91麻豆国产福利精品| 97久久超碰国产精品电影| 日本视频中文字幕一区二区三区| 国产目拍亚洲精品99久久精品| 欧美精三区欧美精三区| gogo大胆日本视频一区| 狠狠色丁香久久婷婷综合丁香| 夜夜夜精品看看| 国产欧美一区二区在线| 日韩欧美久久久| 欧美丝袜自拍制服另类| www.av精品| 国产毛片精品国产一区二区三区| 五月天激情小说综合| 亚洲婷婷在线视频| 欧美激情一区二区三区蜜桃视频 | 欧美一区二区三区的| 色婷婷精品久久二区二区蜜臂av| 激情五月婷婷综合网| 天天做天天摸天天爽国产一区 | 国产精品人妖ts系列视频| 精品国产一区二区三区忘忧草 | 日本一区二区三区四区| 日韩一区二区三区四区五区六区| 在线亚洲一区观看| 成人av高清在线| 成人永久免费视频| 国产风韵犹存在线视精品| 美女高潮久久久| 美女视频黄 久久| 久久丁香综合五月国产三级网站| 日本欧洲一区二区| 日韩精品久久理论片| 午夜影视日本亚洲欧洲精品| 亚洲成a人在线观看| 亚洲成人自拍一区| 石原莉奈在线亚洲三区| 日本v片在线高清不卡在线观看| 视频一区在线播放| 日韩av网站免费在线| 日本vs亚洲vs韩国一区三区 | 日韩视频一区二区| 欧美草草影院在线视频| 精品国产免费一区二区三区四区| 亚洲激情自拍偷拍| 亚洲综合免费观看高清完整版在线| 最新不卡av在线| 亚洲裸体在线观看| 一区二区免费在线播放| 亚洲成人自拍网| 免费精品99久久国产综合精品| 麻豆精品一区二区| 国产乱色国产精品免费视频| 国产成人自拍高清视频在线免费播放| 国产成人精品午夜视频免费| www.在线欧美| 欧美午夜精品免费| 日韩精品一区在线| 中文字幕精品三区| 怡红院av一区二区三区| 日韩中文字幕91| 国产露脸91国语对白| 波多野结衣中文字幕一区 | 亚洲视频中文字幕| 亚洲一区二区三区在线播放| 日本亚洲三级在线| 国产成人亚洲综合a∨婷婷| av网站免费线看精品| 欧美日韩中文另类| 精品国产免费人成在线观看| 国产精品天干天干在线综合| 夜夜嗨av一区二区三区中文字幕| 日韩av电影免费观看高清完整版 | 久久综合999| 亚洲欧美日韩在线| 美腿丝袜在线亚洲一区| 不卡一区在线观看| 欧美精品 国产精品| 国产欧美日韩另类一区| 亚洲图片有声小说| 日本二三区不卡| 欧美v日韩v国产v| 亚洲欧美二区三区| 久久9热精品视频| 色哟哟一区二区三区| 久久久国产午夜精品| 亚洲自拍偷拍av| 国产不卡高清在线观看视频| 在线播放中文一区| 欧美国产一区二区在线观看| 日精品一区二区三区| 波多野洁衣一区| 欧美sm极限捆绑bd| 亚洲成a人片综合在线| 波多野结衣精品在线| 精品国产99国产精品| 午夜成人在线视频| 色综合天天综合狠狠| 国产日韩欧美综合在线| 偷拍自拍另类欧美| 色综合久久中文字幕综合网| 久久精品一区四区| 蜜桃av噜噜一区| 欧美精品欧美精品系列| 亚洲精品少妇30p| 成人免费av网站| 久久久久久久久伊人| 精品一区二区在线播放| 欧美日本一区二区在线观看| 亚洲精品高清在线观看| 成人动漫av在线| 欧美国产亚洲另类动漫| 国产成人午夜片在线观看高清观看| 欧美一区二区在线不卡| 爽好久久久欧美精品| 欧美日韩中文字幕一区| 亚洲一区二区三区三| 91麻豆精品一区二区三区| 国产精品久久久久aaaa樱花| 高清不卡一二三区| 337p粉嫩大胆色噜噜噜噜亚洲| 久久国产精品72免费观看| 日韩欧美成人午夜| 久久国产精品色| 欧美不卡一区二区三区| 久久99热99| 欧美va在线播放| 狠狠色综合日日| 国产亚洲欧美在线| 懂色av一区二区三区免费看| 国产亚洲女人久久久久毛片| 国产精品69久久久久水密桃| 国产网站一区二区三区| 成人精品gif动图一区| 中文字幕在线一区二区三区| 99这里只有精品| 一区二区三区毛片| 5858s免费视频成人| 视频一区欧美日韩| 日韩欧美中文字幕精品| 国产乱码精品一区二区三区av| 国产亚洲欧美日韩在线一区| av男人天堂一区| 亚洲综合一二区| 欧美一区在线视频| 国产在线视视频有精品| 国产精品人妖ts系列视频 | 欧美在线free| 日韩精品亚洲一区| 欧美精品一区二区精品网| 成人精品小蝌蚪| 亚洲制服丝袜一区| 日韩欧美资源站| 成人国产视频在线观看| 午夜一区二区三区视频| 26uuu亚洲综合色欧美| 97se狠狠狠综合亚洲狠狠| 性做久久久久久免费观看|