coreboot-kgpe-d16/util/cbfstool/compress.c
Hung-Te Lin 4d87d4e09b cbfstool: Add -v (verbose) output.
Add -v (verbose) to every command, and allow printing debug messages.

Revise logging and debugging functions (fprintf(stderr,...), dprintf...)
and verbose message printing with following macros:
	ERROR(xxx):	E: xxx
	WARN(xxx)	W: xxx
	LOG(xxx)	xxx
	INFO(...)	INFO: xxx  (only when runs with -v )
	DEBUG(...)	DEBUG: xxx (only when runs with more than one -v)

Example:
	cbfstool coreboot.rom print -v
	cbfstool coreboot.rom add -f file -n file -t raw -v -v

Normal output (especially for parsing) should use printf, not any of these
macros (see usage() and cbfs_locate(), cbfs_print_directory() for example).

Change-Id: I167617da1a6eea2b07075b0eb38e3c9d85ea75dc
Signed-off-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-on: http://review.coreboot.org/2196
Tested-by: build bot (Jenkins)
Reviewed-by: David Hendricks <dhendrix@chromium.org>
2013-02-01 05:54:24 +01:00

57 lines
1.6 KiB
C

/*
* compression handling for cbfstool
*
* Copyright (C) 2009 coresystems GmbH
* written by Patrick Georgi <patrick.georgi@coresystems.de>
*
* Adapted from code
* Copyright (C) 2008 Jordan Crouse <jordan@cosmicpenguin.net>, released
* under identical license terms
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA, 02110-1301 USA
*/
#include <string.h>
#include <stdio.h>
#include "common.h"
extern void do_lzma_compress(char *in, int in_len, char *out, int *out_len);
void lzma_compress(char *in, int in_len, char *out, int *out_len)
{
do_lzma_compress(in, in_len, out, out_len);
}
void none_compress(char *in, int in_len, char *out, int *out_len)
{
memcpy(out, in, in_len);
*out_len = in_len;
}
comp_func_ptr compression_function(comp_algo algo)
{
comp_func_ptr compress;
switch (algo) {
case CBFS_COMPRESS_NONE:
compress = none_compress;
break;
case CBFS_COMPRESS_LZMA:
compress = lzma_compress;
break;
default:
ERROR("Unknown compression algorithm %d!\n", algo);
return NULL;
}
return compress;
}