Make this one of the WS_* flags so that we can later turn the warning for missing EOL at EOF on and off as per config or blob type. Signed-off-by: Michael J Gruber <git@xxxxxxxxxxxxxxxxxxxx> --- cache.h | 3 ++- diff.c | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/cache.h b/cache.h index c966023..dc72b8f 100644 --- a/cache.h +++ b/cache.h @@ -1048,8 +1048,9 @@ void shift_tree_by(const unsigned char *, const unsigned char *, unsigned char * #define WS_CR_AT_EOL 010 #define WS_BLANK_AT_EOF 020 #define WS_TAB_IN_INDENT 040 +#define WS_NO_EOL_AT_EOF 0100 #define WS_TRAILING_SPACE (WS_BLANK_AT_EOL|WS_BLANK_AT_EOF) -#define WS_DEFAULT_RULE (WS_TRAILING_SPACE|WS_SPACE_BEFORE_TAB) +#define WS_DEFAULT_RULE (WS_TRAILING_SPACE|WS_SPACE_BEFORE_TAB|WS_NO_EOL_AT_EOF) extern unsigned whitespace_rule_cfg; extern unsigned whitespace_rule(const char *); extern unsigned parse_whitespace_rule(const char *); diff --git a/diff.c b/diff.c index ff44bcc..7950df6 100644 --- a/diff.c +++ b/diff.c @@ -455,7 +455,7 @@ static void emit_rewrite_lines(struct emit_callback *ecb, size -= len; data += len; } - if (!endp) { + if (!endp && (ecb->ws_rule & WS_NO_EOL_AT_EOF)) { const char *plain = diff_get_color(ecb->color_diff, DIFF_PLAIN); emit_line_0(ecb->file, plain, reset, '\\', @@ -918,7 +918,8 @@ static void fn_out_consume(void *priv, char *line, unsigned long len) emit_add_line(reset, ecbdata, line + 1, len - 1); } if (line[len-1] != '\n') - fputs("\n\\ No newline at end of file\n", ecbdata->file); + fputs((ecbdata->ws_rule & WS_NO_EOL_AT_EOF) + ? "\n\\ No newline at end of file\n" : "\n", ecbdata->file); } static char *pprint_rename(const char *a, const char *b) -- 1.7.1.351.ge2633e -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html