fputs("</div>\n</body>\n</html>\n", fp);
}
-void
-syntax_highlight(const char *fpath, FILE *fp, const char *s, size_t len)
+int
+syntax_highlight(const char *filename, FILE *fp, const char *s, size_t len)
{
// Ruby script for syntax highlighting.
FILE *child = popen("./highlight", "w");
// Give filename:
- fprintf(child, "%s\n", fpath);
+ fprintf(child, "%s\n", filename);
// Give code to highlight:
+ int lc;
size_t i;
- for (i = 0; *s && i < len; s++, i++)
+ for (i = 0; *s && i < len; s++, i++) {
+ if (*s == '\n') lc++;
fputc(*s, child);
+ }
// Write returned HTML to the HTML file.
char c;
fputc(c, fp);
pclose(child);
+ return lc;
}
int
-writeblobhtml(const char *fpath, FILE *fp, const git_blob *blob)
+writeblobhtml(const char *filename, FILE *fp, const git_blob *blob)
{
- size_t n = 0, i, prev;
+ int lc = 0;
const char *s = git_blob_rawcontent(blob);
git_off_t len = git_blob_rawsize(blob);
fputs("<div id=\"blob\">\n", fp);
if (len > 0) {
- syntax_highlight(fpath, fp, s, len);
+ lc = syntax_highlight(filename, fp, s, len);
}
fputs("</div>\n", fp);
- return n;
+ return lc;
}
void