Merge branch 'gs/pretty-hexval'
* gs/pretty-hexval: pretty.c: add %x00 format specifier.
This commit is contained in:
commit
ba9f517bdd
@ -123,3 +123,4 @@ The placeholders are:
|
|||||||
- '%Creset': reset color
|
- '%Creset': reset color
|
||||||
- '%m': left, right or boundary mark
|
- '%m': left, right or boundary mark
|
||||||
- '%n': newline
|
- '%n': newline
|
||||||
|
- '%x00': print a byte from a hex code
|
||||||
|
@ -317,8 +317,10 @@ void show_log(struct rev_info *opt, const char *sep)
|
|||||||
if (opt->show_log_size)
|
if (opt->show_log_size)
|
||||||
printf("log size %i\n", (int)msgbuf.len);
|
printf("log size %i\n", (int)msgbuf.len);
|
||||||
|
|
||||||
if (msgbuf.len)
|
if (msgbuf.len) {
|
||||||
printf("%s%s%s", msgbuf.buf, extra, sep);
|
fwrite(msgbuf.buf, sizeof(char), msgbuf.len, stdout);
|
||||||
|
printf("%s%s", extra, sep);
|
||||||
|
}
|
||||||
strbuf_release(&msgbuf);
|
strbuf_release(&msgbuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
11
pretty.c
11
pretty.c
@ -457,6 +457,7 @@ static size_t format_commit_item(struct strbuf *sb, const char *placeholder,
|
|||||||
const struct commit *commit = c->commit;
|
const struct commit *commit = c->commit;
|
||||||
const char *msg = commit->buffer;
|
const char *msg = commit->buffer;
|
||||||
struct commit_list *p;
|
struct commit_list *p;
|
||||||
|
int h1, h2;
|
||||||
|
|
||||||
/* these are independent of the commit */
|
/* these are independent of the commit */
|
||||||
switch (placeholder[0]) {
|
switch (placeholder[0]) {
|
||||||
@ -478,6 +479,16 @@ static size_t format_commit_item(struct strbuf *sb, const char *placeholder,
|
|||||||
case 'n': /* newline */
|
case 'n': /* newline */
|
||||||
strbuf_addch(sb, '\n');
|
strbuf_addch(sb, '\n');
|
||||||
return 1;
|
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
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* these depend on the commit */
|
/* these depend on the commit */
|
||||||
|
Loading…
Reference in New Issue
Block a user