mirror of
https://github.com/git/git.git
synced 2024-10-29 21:37:53 +01:00
diff.c: emit_diff_symbol learns DIFF_SYMBOL_NO_LF_EOF
Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
68abc6f1c7
commit
b9cbfde6b1
1 changed files with 11 additions and 8 deletions
19
diff.c
19
diff.c
|
@ -561,6 +561,7 @@ static void emit_line(struct diff_options *o, const char *set, const char *reset
|
|||
}
|
||||
|
||||
enum diff_symbol {
|
||||
DIFF_SYMBOL_NO_LF_EOF,
|
||||
DIFF_SYMBOL_CONTEXT_FRAGINFO,
|
||||
DIFF_SYMBOL_CONTEXT_MARKER,
|
||||
DIFF_SYMBOL_SEPARATOR
|
||||
|
@ -569,8 +570,16 @@ enum diff_symbol {
|
|||
static void emit_diff_symbol(struct diff_options *o, enum diff_symbol s,
|
||||
const char *line, int len)
|
||||
{
|
||||
static const char *nneof = " No newline at end of file\n";
|
||||
const char *context, *reset;
|
||||
switch (s) {
|
||||
case DIFF_SYMBOL_NO_LF_EOF:
|
||||
context = diff_get_color_opt(o, DIFF_CONTEXT);
|
||||
reset = diff_get_color_opt(o, DIFF_RESET);
|
||||
putc('\n', o->file);
|
||||
emit_line_0(o, context, reset, '\\',
|
||||
nneof, strlen(nneof));
|
||||
break;
|
||||
case DIFF_SYMBOL_CONTEXT_FRAGINFO:
|
||||
emit_line(o, "", "", line, len);
|
||||
break;
|
||||
|
@ -751,7 +760,6 @@ static void emit_rewrite_lines(struct emit_callback *ecb,
|
|||
int prefix, const char *data, int size)
|
||||
{
|
||||
const char *endp = NULL;
|
||||
static const char *nneof = " No newline at end of file\n";
|
||||
const char *reset = diff_get_color(ecb->color_diff, DIFF_RESET);
|
||||
|
||||
while (0 < size) {
|
||||
|
@ -769,13 +777,8 @@ static void emit_rewrite_lines(struct emit_callback *ecb,
|
|||
size -= len;
|
||||
data += len;
|
||||
}
|
||||
if (!endp) {
|
||||
const char *context = diff_get_color(ecb->color_diff,
|
||||
DIFF_CONTEXT);
|
||||
putc('\n', ecb->opt->file);
|
||||
emit_line_0(ecb->opt, context, reset, '\\',
|
||||
nneof, strlen(nneof));
|
||||
}
|
||||
if (!endp)
|
||||
emit_diff_symbol(ecb->opt, DIFF_SYMBOL_NO_LF_EOF, NULL, 0);
|
||||
}
|
||||
|
||||
static void emit_rewrite_diff(const char *name_a,
|
||||
|
|
Loading…
Reference in a new issue