int main()

in src/native/tools/zstd_compress_file/zstd_compress_file.cpp [34:81]


int main(int argc, char **argv)
{
	fs::path uncompressed_path;
	fs::path delta_basis_path;
	fs::path compressed_path;

	operation op{operation::invalid};
	int ret = parse_command_line(argc, argv, &op, &uncompressed_path, &compressed_path, &delta_basis_path);

	if (ret != 0)
	{
		usage(argv[0]);
		return ret;
	}

	try
	{
		switch (op)
		{
		case operation::invalid:
			usage(argv[0]);
			return -1;
		case operation::compress:
			compress_file(uncompressed_path, L"", compressed_path);
			verify_compression(uncompressed_path, nullptr, compressed_path);
			break;
		case operation::decompress:
			decompress_file(compressed_path, L"", uncompressed_path);
			break;
		case operation::compress_with_basis:
			compress_file(uncompressed_path, delta_basis_path, compressed_path);
			verify_compression(uncompressed_path, &delta_basis_path, compressed_path);
			break;
		case operation::decompress_with_basis:
			decompress_file(compressed_path, delta_basis_path, uncompressed_path);
			break;
		}
	}
	catch (std::exception &)
	{
		printf("Failed.\n");
		return 2;
	}

	printf("Success.\n");

	return 0;
}