Merge branch 'js/maint-cover-letter-non-ascii'
* js/maint-cover-letter-non-ascii: Correctly mark cover letters' encodings if they are not pure ASCII Expose the has_non_ascii() function
This commit is contained in:
commit
228f9c9a9f
@ -670,6 +670,10 @@ static void make_cover_letter(struct rev_info *rev, int use_stdout,
|
|||||||
log_write_email_headers(rev, head, &subject_start, &extra_headers,
|
log_write_email_headers(rev, head, &subject_start, &extra_headers,
|
||||||
&need_8bit_cte);
|
&need_8bit_cte);
|
||||||
|
|
||||||
|
for (i = 0; !need_8bit_cte && i < nr; i++)
|
||||||
|
if (has_non_ascii(list[i]->buffer))
|
||||||
|
need_8bit_cte = 1;
|
||||||
|
|
||||||
msg = body;
|
msg = body;
|
||||||
pp_user_info(NULL, CMIT_FMT_EMAIL, &sb, committer, DATE_RFC2822,
|
pp_user_info(NULL, CMIT_FMT_EMAIL, &sb, committer, DATE_RFC2822,
|
||||||
encoding);
|
encoding);
|
||||||
|
1
commit.h
1
commit.h
@ -64,6 +64,7 @@ enum cmit_fmt {
|
|||||||
};
|
};
|
||||||
|
|
||||||
extern int non_ascii(int);
|
extern int non_ascii(int);
|
||||||
|
extern int has_non_ascii(const char *text);
|
||||||
struct rev_info; /* in revision.h, it circularly uses enum cmit_fmt */
|
struct rev_info; /* in revision.h, it circularly uses enum cmit_fmt */
|
||||||
extern char *reencode_commit_message(const struct commit *commit,
|
extern char *reencode_commit_message(const struct commit *commit,
|
||||||
const char **encoding_p);
|
const char **encoding_p);
|
||||||
|
12
log-tree.c
12
log-tree.c
@ -168,18 +168,6 @@ static unsigned int digits_in_number(unsigned int number)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int has_non_ascii(const char *s)
|
|
||||||
{
|
|
||||||
int ch;
|
|
||||||
if (!s)
|
|
||||||
return 0;
|
|
||||||
while ((ch = *s++) != '\0') {
|
|
||||||
if (non_ascii(ch))
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void get_patch_filename(struct commit *commit, int nr, const char *suffix,
|
void get_patch_filename(struct commit *commit, int nr, const char *suffix,
|
||||||
struct strbuf *buf)
|
struct strbuf *buf)
|
||||||
{
|
{
|
||||||
|
12
pretty.c
12
pretty.c
@ -86,6 +86,18 @@ int non_ascii(int ch)
|
|||||||
return !isascii(ch) || ch == '\033';
|
return !isascii(ch) || ch == '\033';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int has_non_ascii(const char *s)
|
||||||
|
{
|
||||||
|
int ch;
|
||||||
|
if (!s)
|
||||||
|
return 0;
|
||||||
|
while ((ch = *s++) != '\0') {
|
||||||
|
if (non_ascii(ch))
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int is_rfc2047_special(char ch)
|
static int is_rfc2047_special(char ch)
|
||||||
{
|
{
|
||||||
return (non_ascii(ch) || (ch == '=') || (ch == '?') || (ch == '_'));
|
return (non_ascii(ch) || (ch == '=') || (ch == '?') || (ch == '_'));
|
||||||
|
Loading…
Reference in New Issue
Block a user