X-Git-Url: https://git.distorted.org.uk/~mdw/tig/blobdiff_plain/aea510c85bbf27d4cc7603b026ab760f98de6bb1..aac64c17cd7dd8c6ceba5738cc27a7eee48b8e59:/tig.c diff --git a/tig.c b/tig.c index 5255e14..3b320e6 100644 --- a/tig.c +++ b/tig.c @@ -1874,7 +1874,7 @@ update_view(struct view *view) size_t ret; - ret = iconv(opt_iconv, &inbuf, &inlen, &outbuf, &outlen); + ret = iconv(opt_iconv, (const char **) &inbuf, &inlen, &outbuf, &outlen); if (ret != (size_t) -1) { line = out_buffer; linelen = strlen(out_buffer); @@ -2580,7 +2580,7 @@ tree_read(struct view *view, char *text) static bool tree_enter(struct view *view, struct line *line) { - enum open_flags flags = display[0] == view ? OPEN_SPLIT : OPEN_DEFAULT; + enum open_flags flags; enum request request; switch (line->type) { @@ -2610,11 +2610,12 @@ tree_enter(struct view *view, struct line *line) /* Trees and subtrees share the same ID, so they are not not * unique like blobs. */ - flags |= OPEN_RELOAD; + flags = OPEN_RELOAD; request = REQ_VIEW_TREE; break; case LINE_TREE_FILE: + flags = display[0] == view ? OPEN_SPLIT : OPEN_DEFAULT; request = REQ_VIEW_BLOB; break; @@ -2887,13 +2888,19 @@ main_read(struct view *view, char *line) /* Require titles to start with a non-space character at the * offset used by git log. */ - /* FIXME: More gracefull handling of titles; append "..." to - * shortened titles, etc. */ - if (strncmp(line, " ", 4) || - isspace(line[4])) + if (strncmp(line, " ", 4)) break; + line += 4; + /* Well, if the title starts with a whitespace character, + * try to be forgiving. Otherwise we end up with no title. */ + while (isspace(*line)) + line++; + if (*line == '\0') + break; + /* FIXME: More graceful handling of titles; append "..." to + * shortened titles, etc. */ - string_copy(commit->title, line + 4); + string_copy(commit->title, line); } return TRUE;