/* See LICENSE file for copyright and license details. */ #include "common.h" int libpatch_format_patch(struct libpatch_diff2_printer *printer, struct libpatch_diff2 *diff, size_t difflen, const struct libpatch_file *file1, const struct libpatch_file *file2, enum libpatch_style style) { switch (style) { case LIBPATCH_STYLE_NORMAL: return libpatch_format_normal_patch(printer, diff, difflen, file1, file2); case LIBPATCH_STYLE_COPIED: return libpatch_format_copied_patch(printer, diff, difflen, file1, file2); case LIBPATCH_STYLE_UNIFIED: return libpatch_format_unified_patch(printer, diff, difflen, file1, file2); case LIBPATCH_STYLE_ED: return libpatch_format_ed_patch(printer, diff, difflen, file1, file2); case LIBPATCH_STYLE_ED_ALTERNATIVE: return libpatch_format_ed_alternative_patch(printer, diff, difflen, file1, file2); case LIBPATCH_STYLE_RCS: return libpatch_format_rcs_patch(printer, diff, difflen, file1, file2); default: case LIBPATCH_STYLE_GARBAGE: errno = EINVAL; return -1; } }