commit 76670af02746b4cc2a4a26dca93072a682d48232 from: Martin Pieuchot date: Tue Feb 11 13:51:57 2020 UTC Merge diff_output.h into diff_main.h commit - 427b8b3cf4ce51b92d82969edb99f21197e98d79 commit + 76670af02746b4cc2a4a26dca93072a682d48232 blob - a220fb92b1c9b36a3e311ae4d928a12e918c67c3 blob + 587e4a52f34ec4f3ac54347a4b14c7d44c2d746a --- diff.c +++ diff.c @@ -30,7 +30,6 @@ #include #include "diff_main.h" -#include "diff_output.h" #ifdef __linux__ /* stupid shims to compile and test on linux */ blob - 3bcdfdc2e90685321cb2926b5d44a3ca3ee0e4ac blob + 4504f2ea36b3ffd2851ff3bf4d88a98d6da89087 --- diff_main.h +++ diff_main.h @@ -21,6 +21,7 @@ #pragma once #include +#include #include #include #include @@ -288,3 +289,26 @@ struct diff_result *diff_main(const struct diff_config const uint8_t *left_data, size_t left_len, const uint8_t *right_data, size_t right_len); void diff_result_free(struct diff_result *result); + +/* Diff output generators and invocation shims. */ +struct diff_input_info { + const char *arbitrary_info; + const char *left_path; + const char *right_path; +}; + +enum diff_rc diff_output_plain(FILE *dest, const struct diff_input_info *info, + const struct diff_result *result); +enum diff_rc diff_plain(FILE *dest, const struct diff_config *diff_config, + const struct diff_input_info *info, + const char *left, int left_len, const char *right, int right_len); + +enum diff_rc diff_output_unidiff(FILE *dest, const struct diff_input_info *info, + const struct diff_result *result, unsigned int context_lines); +enum diff_rc diff_unidiff(FILE *dest, const struct diff_config *diff_config, + const struct diff_input_info *info, + const char *left, int left_len, const char *right, int right_len, + unsigned int context_lines); + +enum diff_rc diff_output_info(FILE *dest, const struct diff_input_info *info); +void diff_output_lines(FILE *dest, const char *prefix, struct diff_atom *start_atom, unsigned int count); blob - a279485ee1967d8b2d8dcde5e295d3fe8be6d0fe blob + 675b13bbbe632cb8d2c5f0026e3daaec4ad06f9e --- diff_output.c +++ diff_output.c @@ -18,7 +18,7 @@ /* Common parts for printing diff output */ -#include "diff_output.h" +#include "diff_main.h" void diff_output_lines(FILE *dest, const char *prefix, struct diff_atom *start_atom, unsigned int count) { blob - eaa4a83d44c28957b6893f120eda0ce549d3baad (mode 644) blob + /dev/null --- diff_output.h +++ /dev/null @@ -1,46 +0,0 @@ -/* $OpenBSD$ */ - -/* - * Copyright (c) 2020 Neels Hofmeyr - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -/* Diff output generators and invocation shims. */ - -#pragma once - -#include -#include "diff_main.h" - -struct diff_input_info { - const char *arbitrary_info; - const char *left_path; - const char *right_path; -}; - -enum diff_rc diff_output_plain(FILE *dest, const struct diff_input_info *info, - const struct diff_result *result); -enum diff_rc diff_plain(FILE *dest, const struct diff_config *diff_config, - const struct diff_input_info *info, - const char *left, int left_len, const char *right, int right_len); - -enum diff_rc diff_output_unidiff(FILE *dest, const struct diff_input_info *info, - const struct diff_result *result, unsigned int context_lines); -enum diff_rc diff_unidiff(FILE *dest, const struct diff_config *diff_config, - const struct diff_input_info *info, - const char *left, int left_len, const char *right, int right_len, - unsigned int context_lines); - -enum diff_rc diff_output_info(FILE *dest, const struct diff_input_info *info); -void diff_output_lines(FILE *dest, const char *prefix, struct diff_atom *start_atom, unsigned int count); blob - 526ec4d854752540c2a72ce93fa2199e90e42261 blob + e6a2e514bdda6357e454d60b3218d611eea63930 --- diff_output_plain.c +++ diff_output_plain.c @@ -18,7 +18,7 @@ /* Output all lines of a diff_result. */ -#include "diff_output.h" +#include "diff_main.h" enum diff_rc diff_output_plain(FILE *dest, const struct diff_input_info *info, const struct diff_result *result) blob - bf4e81d14a15ffaef589d31182b39d0c5738b8e0 blob + 6f150d8601b10ca343db402cf0a6192d675025ae --- diff_output_unidiff.c +++ diff_output_unidiff.c @@ -18,7 +18,7 @@ /* Produce a unidiff output from a diff_result. */ -#include "diff_output.h" +#include "diff_main.h" #include "debug.h" enum chunk_type {