Merge branch 'rs/hex2chr'
* rs/hex2chr: introduce hex2chr() for converting two hexadecimal digits to a character
This commit is contained in:
13
pretty.c
13
pretty.c
@ -1065,7 +1065,7 @@ static size_t format_commit_one(struct strbuf *sb, /* in UTF-8 */
|
||||
const struct commit *commit = c->commit;
|
||||
const char *msg = c->message;
|
||||
struct commit_list *p;
|
||||
int h1, h2;
|
||||
int ch;
|
||||
|
||||
/* these are independent of the commit */
|
||||
switch (placeholder[0]) {
|
||||
@ -1089,14 +1089,11 @@ static size_t format_commit_one(struct strbuf *sb, /* in UTF-8 */
|
||||
return 1;
|
||||
case 'x':
|
||||
/* %x00 == NUL, %x0a == LF, etc. */
|
||||
if (0 <= (h1 = hexval_table[0xff & placeholder[1]]) &&
|
||||
h1 <= 16 &&
|
||||
0 <= (h2 = hexval_table[0xff & placeholder[2]]) &&
|
||||
h2 <= 16) {
|
||||
strbuf_addch(sb, (h1<<4)|h2);
|
||||
return 3;
|
||||
} else
|
||||
ch = hex2chr(placeholder + 1);
|
||||
if (ch < 0)
|
||||
return 0;
|
||||
strbuf_addch(sb, ch);
|
||||
return 3;
|
||||
case 'w':
|
||||
if (placeholder[1] == '(') {
|
||||
unsigned long width = 0, indent1 = 0, indent2 = 0;
|
||||
|
Reference in New Issue
Block a user