- int i;
-
- for (i = 0; i < nbuf; i++) {
- if (mb[i].ptr[mb[i].size-1] != '\n') {
- /* Incomplete line */
- diff_buffer = xrealloc(diff_buffer,
- diff_buffer_size + mb[i].size);
- memcpy(diff_buffer + diff_buffer_size,
- mb[i].ptr, mb[i].size);
- diff_buffer_size += mb[i].size;
- continue;
- }
-
- /* we have a complete line */
- if (!diff_buffer) {
- print_line(mb[i].ptr, mb[i].size);
- continue;
- }
- diff_buffer = xrealloc(diff_buffer,
- diff_buffer_size + mb[i].size);
- memcpy(diff_buffer + diff_buffer_size, mb[i].ptr, mb[i].size);
- print_line(diff_buffer, diff_buffer_size + mb[i].size);
- free(diff_buffer);
- diff_buffer = NULL;
- diff_buffer_size = 0;
- }
- if (diff_buffer) {
- print_line(diff_buffer, diff_buffer_size);
- free(diff_buffer);
- diff_buffer = NULL;
- diff_buffer_size = 0;
- }
- return 0;
+ char *abbrev1, *abbrev2;
+ if (is_null_sha1(sha1))
+ path1 = "dev/null";
+ if (is_null_sha1(sha2))
+ path2 = "dev/null";
+ html("<tr><td>");
+ html("<div class='head'>");
+ html("diff --git a/");
+ html_txt(path1);
+ html(" b/");
+ html_txt(path2);
+ abbrev1 = xstrdup(find_unique_abbrev(sha1, DEFAULT_ABBREV));
+ abbrev2 = xstrdup(find_unique_abbrev(sha2, DEFAULT_ABBREV));
+ htmlf("\nindex %s..%s", abbrev1, abbrev2);
+ free(abbrev1);
+ free(abbrev2);
+ html("\n--- a/");
+ html_txt(path1);
+ html("\n+++ b/");
+ html_txt(path2);
+ html("</div>");