Revision a20d3c0de1f107ddd719a4a9cec3addd56e8444f authored by Junio C Hamano on 27 November 2012, 19:47:46 UTC, committed by Junio C Hamano on 27 November 2012, 21:21:15 UTC
The diffstat generation logic, with --stat-count limit, is implemented as three loops. - The first counts the width necessary to show stats up to specified number of entries, and notes up to how many entries in the data we need to iterate to show the graph; - The second iterates that many times to draw the graph, adjusts the number of "total modified files", and counts the total added/deleted lines for the part that was shown in the graph; - The third iterates over the remainder and only does the part to count "total added/deleted lines" and to adjust "total modified files" without drawing anything. Move the logic to count added/deleted lines and modified files from the second loop to the third loop. This incidentally fixes a bug. The third loop was not filtering binary changes (counted in bytes) from the total added/deleted as it should. The second loop implemented this correctly, so if a binary change appeared earlier than the --stat-count cutoff, the code counted number of added/deleted lines correctly, but if it appeared beyond the cutoff, the number of lines would have mixed with the byte count in the buggy third loop. Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent af0ed81
url.h
#ifndef URL_H
#define URL_H
extern int is_url(const char *url);
extern int is_urlschemechar(int first_flag, int ch);
extern char *url_decode(const char *url);
extern char *url_decode_mem(const char *url, int len);
extern char *url_decode_parameter_name(const char **query);
extern char *url_decode_parameter_value(const char **query);
extern void end_url_with_slash(struct strbuf *buf, const char *url);
extern void str_end_url_with_slash(const char *url, char **dest);
#endif /* URL_H */
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...